Public Vulnerability Reports

Microsoft PowerPoint Integer Overflow Vulnerability



Microsoft PowerPoint is an application used for constructing presentations, and comes with the Microsoft Office suite. For more information, see the vendor's site found at the following link.


Remote exploitation of an integer overflow vulnerability in Microsoft Corp.'s PowerPoint could allow an attacker to execute arbitrary code with the privileges of the current user.

The vulnerability occurs during the parsing of two related PowerPoint record types. The first record type is used to specify collaboration information for different slides. One of the fields in this record contains a 32-bit integer that is used to specify the number of a specific type of records that are present in the file. This integer is used in a multiplication operation that calculates the size of a heap buffer that will be used to store the records as they are read in from the file. The calculation can overflow, resulting in an undersized heap buffer being allocated. By providing a large value for the record count, and inserting enough dummy records, it is possible to trigger a heap based buffer overflow.


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. If the targeted user is running PowerPoint 2000, and the "Office Document Open Confirmation Tool" is not installed, then it is possible to exploit this vulnerability directly through the browser.

Modern versions of Windows (XP, Server 2003, Vista, Server 2008) contain heap allocators with protections against generic heap exploitation techniques. These protections include heap cookies and safe unlinking techniques. However, by default the Office applications use a custom allocator that does not use the normal heap allocator, and does not contain the same level of protection.


iDefense has confirmed the existence of this vulnerability in the following versions of PowerPoint:

PowerPoint 2000 SP3

PowerPoint 2002 (XP) SP2

PowerPoint 2003 SP2

PowerPoint 2003 SP3

PowerPoint 2007, PowerPoint 2007 SP1, and PowerPoint Viewer 2003 are not affected.


Since PowerPoint Viewer 2003 is not affected, using it to view untrusted or unexpected PowerPoint files is a valid workaround.


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


09/03/2008 - Initial Contact
09/03/2008 - Vendor Acknowledgement
09/04/2008 - PoC Requested
09/09/2008 - PoC Sent
09/17/2008 - PoC Resend Requested
09/17/2008 - PoC Sent
10/01/2008 - Vendor Case Number Issued
12/11/2008 - Vendor Status Update
01/16/2009 - Disclosure Projected
01/20/2009 - Vendor Clarification
02/19/2009 - Vendor Status Update
05/12/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.