iDefense Security Advisory 06.09.09 http://labs.idefense.com/intelligence/vulnerabilities/ Jun 09, 2009 I. BACKGROUND Excel is the spreadsheet application included with Microsoft Corp.'s Office productivity software suite. More information is available at the following website: http://office.microsoft.com/excel/ II. DESCRIPTION Remote exploitation of an integer overflow vulnerability in Microsoft Corp.'s Excel could allow an attacker to execute arbitrary code with the privileges of the current user. 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 unique strings in the table. This value is used to allocate an array of pointers to the strings contained inside of the table. When allocating this array, an integer overflow occurs in the calculation of its size. This leads to a heap based buffer overflow when the array is filled with pointers to strings from the file. III. ANALYSIS Exploitation of this vulnerability results in the execution of arbitrary code with the privileges of the user opening the file. To exploit this vulnerability, an attacker needs to convince a user to open a malicious file. This is typically accomplished by emailing a user the file, or embedding it inside of a web page. IV. DETECTION iDefense has confirmed the existence of this vulnerability in all currently supported versions of Excel, this includes: Excel 2000 SP3 (Excel.exe version 9.0.0.8974) Excel 2002/XP SP3 (Excel.exe version 10.0.6850.0) Excel 2003 SP3 (Excel.exe version 11.0.8237.0 Excel 2007 SP1 (Excel.exe version 12.0.6331.5000) All patches as of February 2009 were applied. V. WORKAROUND To prevent exploitation of these issues, Microsoft recommends using the MOICE tool and/or disabling legacy binary file support. More information about these workarounds can be found within their security bulletin. VI. VENDOR RESPONSE Microsoft has released a patch which addresses this issue. For more information, consult their advisory at the following URL: http://www.microsoft.com/technet/security/Bulletin/MS09-021.mspx VII. CVE INFORMATION The Common Vulnerabilities and Exposures (CVE) project has assigned the name CVE-2009-0561 to this issue. This is a candidate for inclusion in the CVE list (http://cve.mitre.org/), which standardizes names for security problems. VIII. DISCLOSURE TIMELINE 02/19/2009 - Initial Contact 02/19/2009 - PoC Sent 02/19/2009 - PoC requested 02/19/2009 - Vendor Status Update 04/22/2009 - Vendor set tentative disclosure date of 06/09/2009 05/22/2009 - Status update received 06/09/2009 - Coordinated public disclosure IX. CREDIT This vulnerability was discovered by Sean Larsson and Joshua Drake, 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/ X. LEGAL NOTICES Copyright © 2009 iDefense, 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 customerservice@idefense.com 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.