Public Vulnerability Reports

Microsoft Office Drawing Format Shape Properties Memory Corruption Vulnerability



Microsoft Office is a suite of products used for document, spreadsheet, and presentation creation and viewing. Office Drawing Format is a binary file format developed by Microsoft. It is used by all Office programs to represent information about different types of shapes and drawings commonly used in Office applications. For more information see the vendor's website.


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

The vulnerability occurs when parsing the msofbtOPT Office Drawing record type. This record is used to provide default values for shape properties. By inserting a specially crafted property ID, it is possible to corrupt heap memory and overwrite an object pointer.


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. After opening the file, no further interaction is needed to trigger the vulnerability.

Due to the nature of the vulnerability, it is possible to reliably overwrite an object pointer. This lets an attacker control the object's virtual function table, which simplifies exploitation.


iDefense has confirmed the existence of this vulnerability in Office XP SP3.


The vulnerability occurs in the core parsing code, 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.


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-2528 to this issue. This is a candidate for inclusion in the CVE list (, which standardizes names for security problems.


04/25/2008 - Initial Contact
04/25/2008 - Initial Response
04/25/2008 - PoC Requested
07/21/2008 - PoC Requested
07/21/2008 - PoC Sent
12/11/2008 - Status Update Received - no estimated release date
02/19/2009 - Status Update Received - new case manager, estimated release date 06/09/2009
10/13/2009 - Coordinated public disclosure


This vulnerability was reported to iDefense by Marsu and an anonymous contributor.

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.