Microsoft Excel SerAuxErrBar Record Heap Overflow Vulnerability
Microsoft Excel is the spreadsheet application within Microsoft Office.
Remote exploitation of a heap overflow vulnerability in Microsoft Corp.'s Excel could allow an attacker to execute arbitrary code with the privileges of the current user.
The vulnerability is a signed comparison error that leads to a heap overflow. The vulnerability occurs when parsing the "cnum" field of the SerAuxErrBar record. This field is used to give a count of cells used when displaying error bars in a chart. When processing this field, a signed comparison is used to check if it is greater than 1. However, it is possible to bypass this check by setting "cnum" to a negative value. This buffer is then overflowed when the original "cnum" value is interpreted as unsigned, and used to control the maximum amount of data stored in the buffer. This can lead to 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. Attackers typically accomplish this by e-mailing a targeted user the file or hosting the file on a Web page. Note that attackers cannot exploit Office file format vulnerabilities in a drive-by manner; at a minimum, a targeted user must click an "open" dialog or choose to view an attachment.
Exploitation of this vulnerability will require sculpting the heap in such a way that a useful structure (such as an object pointer) is located in the previously freed buffer. Since Excel does not offer complete control over the heap like a browser-based vulnerability does, more effort is required to shape the heap properly. The difficulty of this will depend on the attacker's familiarity with Excel internals.
The following Microsoft products are vulnerable:
- Microsoft Excel 2003 Service Pack 3
- Microsoft Excel 2007 Service Pack 2
- Microsoft Excel 2007 Service Pack 3
- Microsoft Excel 2010 Service Pack 1 (32-bit editions)
- Microsoft Excel 2010 Service Pack 1 (64-bit editions)
- Microsoft Office 2008 for Mac
- Microsoft Office for Mac 2011
- Microsoft Office Compatibility Pack Service Pack 2
- Microsoft Office Compatibility Pack Service Pack 3
The vulnerability occurs in the core parsing code of Excel, which cannot be disabled; however, it is possible to disable the opening of the older binary format files by using MOICE to convert the file to the newer XML-based format.
Microsoft Corp. has released patches 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-2012-1885 to this issue. This is a candidate for inclusion in the CVE list (http://cve.mitre.org/), which standardizes names for security problems.
02/08/2012 Initial Vendor Notification
02/08/2012 Initial Vendor Reply
11/13/2012 Coordinated Public Disclosure
Sean Larsson of iDefense Labs reported this vulnerability.
Get paid for vulnerability research
Free tools, research and upcoming events
Copyright © 2012 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.