Public Vulnerability Reports

Microsoft Excel Sheet Object Type Confusion Vulnerability

03.09.10

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/

DESCRIPTION

Remote exploitation of a type confusion vulnerability in Microsoft Corp.'s Excel could allow an attacker to execute arbitrary code with the privileges of the current user.

This vulnerability is a type confusion vulnerability that occurs when parsing several related Excel record types. In this case, the type confusion is due to multiple records containing fields that identify the type of an object shared between them.

By controlling memory outside of the bounds of the allocated heap chunk, an attacker can control a C++ object pointer used in a virtual function call. This can result in an area of memory being treated as a different type of object than it actually is, resulting in access outside of the bounds of the allocated object.

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 the targeted user a malicious file, or providing a link to one on a webpage.

iDefense testing has demonstrated that this vulnerability is highly exploitable, which is consistent with most type confusion vulnerabilities.

As with most memory corruption vulnerabilities, exploitation mitigation technologies like DEP and ASLR substantially increase the difficulty of exploiting this vulnerability.

DETECTION

iDefense has confirmed the existence of this vulnerability in all currently supported versions of Excel (2007 SP1/SP2, 2003 SP3, XP SP3), and also the currently unsupported Excel 2000 SP3. A full list of vulnerable Microsoft products can be found in Microsoft Security Bulletin MS10-017.

WORKAROUND

iDefense is currently unaware of any workarounds for this issue. Since the vulnerability occurs in the core parsing code it is impossible to disable the affected module.

VENDOR RESPONSE

Microsoft Corp. has released a patch which addresses this issue. Information about downloadable vendor updates can be found by clicking on the URLs shown. http://www.microsoft.com/technet/security/bulletin/MS10-017.mspx

CVE INFORMATION

The Common Vulnerabilities and Exposures (CVE) project has assigned the name CVE-2010-0258 to this issue. This is a candidate for inclusion in the CVE list (http://cve.mitre.org/), which standardizes names for security problems.

DISCLOSURE TIMELINE

09/10/2009 Initial Vendor Notification
09/11/2009 Initial Vendor Reply
03/09/2010 Coordinated Public Disclosure

CREDIT

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