Public Vulnerability Reports

Microsoft Excel SST Record Integer Overflow Vulnerability



Excel is the spreadsheet application included with Microsoft Corp.'s Office productivity software suite. More information is available at the following website:


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.


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.


iDefense has confirmed the existence of this vulnerability in all currently supported versions of Excel, this includes:

 Excel 2000 SP3 (Excel.exe version 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.


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.


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


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 (, which standardizes names for security problems.


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


This vulnerability was discovered by Sean Larsson and Joshua Drake, iDefense Labs

Get paid for vulnerability research

Free tools, research and upcoming events


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.