Public Vulnerability Reports

Autonomy KeyView Excel File SST Parsing Integer Overflow Vulnerability

08.25.09

BACKGROUND

Autonomy KeyView SDK is a commercial SDK that provides many file format parsing libraries. It supports a large number of different document formats, one of which is the Microsoft Excel 97 (XLS) format. It is used by several popular vendors for processing documents. For more information, visit the URL referenced below.

http://www.autonomy.com/

KeyView is used by many commercial products to handle various types of file formats. Lotus Notes and Symantec Mail Security are two examples of such products.

DESCRIPTION

Remote exploitation of an integer overflow vulnerability in Autonomy's KeyView SDK allows attackers to execute arbitrary code with the privileges of the targeted application.

The vulnerability occurs when parsing a Shared String Table (SST) record inside of an Excel file. This record is used to hold a table of strings that are used inside of the document. One of the fields in this record is a 32-bit integer that represents the number of strings in the table. This value is used in a calculation that controls the number of bytes to allocate for a dynamic heap buffer. The value is not properly sanitized, which leads to an integer overflow in the calculation. This results in a heap based buffer overflow vulnerability.

ANALYSIS

Exploitation allows attackers to execute arbitrary code with the privileges of the targeted application. In order to exploit this vulnerability, an attacker must cause a specially crafted Microsoft Excel Spreadsheet to be processed by an application using the Autonomy KeyView SDK.

When targeting applications like Lotus Notes, this requires that an attacker convince a user to view an e-mail attachment; however, in other cases, processing may take place automatically as a document is examined. The specific circumstances will depend on the application being targeted.

The privileges that an attacker gains may be different for each application that uses the KeyView SDK. For example, exploiting this issue via Lotus Notes yields the current user's privileges while exploiting the vulnerability via Symantec Mail Security yields SYSTEM privileges.

DETECTION

iDefense confirmed the existence of this vulnerability using the following versions of the affected software:

 xlssr.dll version 8.0.0.7214, distributed with IBM Lotus Notes 8.0 xlssr.dll version 8.5.0.8339, distributed with IBM Lotus Notes 8.5 xlssr.dll version 10.5.0.0, distributed with Symantec Mail Security for Microsoft Exchange 

All versions of the KeyView SDK that include the "xlssr.dll" filter module are suspected to be vulnerable.

WORKAROUND

For all products using the KeyView SDK, you can disable the "xlssr.dll" filter by doing one of the following:

 Removing the xlssr.dll filter module from the affected system(s). Delete or comment out the line referencing "xlssr.dll" from the "KeyView.ini" file distributed with the affected application. 

Additionally, for Symantec Mail Security, disabling "content filtering" will prevent exploitation.

VENDOR RESPONSE

IBM has released a patch which addresses this issue in Lotus Notes. For more information, consult their advisory at the following URL:

http://www-01.ibm.com/support/docview.wss?rs=463&uid=swg21396492

Symantec has released a patch which addresses this issue in several Symantec products. For more information, consult their advisory at the following URL:

http://www.symantec.com/business/security_response/securityupdates/detail.jsp?fid=security_advisory&pvid=security_advisory&year=2009&suid=20090825_00

CVE INFORMATION

A Mitre Corp. Common Vulnerabilities and Exposures (CVE) number has not been assigned yet.

DISCLOSURE TIMELINE

05/05/2009 - Initial Contact
05/05/2009 - Autonomy first response
05/05/2009 - Symantec first response
05/05/2009 - IBM first response
05/05/2009 - Autonomy POC request
05/05/2009 - IBM POC request
05/06/2009 - Autonomy clarification request
05/06/2009 - Symantec clarification request
05/06/2009 - Request public key from Autonomy
05/06/2009 - Sent POC to IBM, Symantec
05/06/2009 - Symantec requests resend
05/06/2009 - Resent POC to Symantec
05/06/2009 - Autonomy sends public key
05/06/2009 - Sent POC to Autonomy
05/07/2009 - Symantec holding on Autonomy fix
05/07/2009 - Autonomy requested clarification
05/07/2009 - Sent clarification
08/11/2009 - Disclosure coordination
08/17/2009 - Disclosure re-coordination
08/25/2009 - Coordinated Public Disclosure

CREDIT

This vulnerability was discovered by Joshua J. Drake of iDefense Labs.

Get paid for vulnerability research
http://labs.idefense.com/methodology/vulnerability/vcp.php

Free tools, research and upcoming events
http://labs.idefense.com/

LEGAL NOTICES

Copyright © 2009 Verisign, Inc.

Permission is granted for the redistribution of this alert electronically. It may not be edited in any way without the express written consent of iDefense. If you wish to reprint the whole or any part of this alert in any other medium other than electronically, please e-mail customer service for permission.

Disclaimer: The information in the advisory is believed to be accurate at the time of publishing based on currently available information. Use of the information constitutes acceptance for use in an AS IS condition. There are no warranties with regard to this information. Neither the author nor the publisher accepts any liability for any direct, indirect, or consequential loss or damage arising from use of, or reliance on, this information.