Public Vulnerability Reports

Microsoft Excel FEATHEADER Record Memory Corruption 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 a memory corruption 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 FEATHEADER record within an Excel file. This record is used to store information common to multiple other records, and was introduced with Excel 2002 (XP). When certain fields of this record are set to a trigger value, it is possible to corrupt memory in such a way that the next 4 bytes in the record are treated as an object pointer. This pointer is then used to make a virtual function call, which results in the execution of arbitrary code.


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.

Labs testing has demonstrated this vulnerability is highly exploitable. However, on systems where they are present, anti-exploitation technologies like DEP and ASLR make the vulnerability extremely difficult to exploit in a reliable way.


iDefense has confirmed the existence of this vulnerability in Excel versions 2007, 2003, and XP. The record that causes the vulnerability is not supported by Excel 2000, so it is not affected by this vulnerability.


The vulnerability occurs in the core parsing code of Excel, and this code can not be disabled. However, it is possible to disable the opening of the older binary format files, and use MOICE to convert the file to the newer XML based format. These two methods are linked to in the Sources section.


Microsoft Corp. has released a patch which addresses this issue. Information about downloadable vendor updates can be found by clicking on the URLs shown.


The Common Vulnerabilities and Exposures (CVE) project has assigned the name CVE-2009-3129 to this issue. This is a candidate for inclusion in the CVE list (, which standardizes names for security problems.


04/30/2009 - Initial Contact
04/30/2009 - Initial Vendor Response
11/10/2009 - Coordinated Public Disclosure


This vulnerability was discovered by Sean Larsson, 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.