iDefense Security Advisory 05.12.09: Microsoft PowerPoint PPT 4.0 Importer Multiple Stack Buffer Overflow Vulnerabilities

Type securityvulns
Reporter Securityvulns
Modified 2009-05-13T00:00:00



iDefense Security Advisory 05.12.09 May 12, 2009


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 multiple stack-based buffer overflow vulnerabilities in Microsoft Corp.'s PowerPoint could allow an attacker to execute arbitrary code with the privileges of the current user.

The vulnerabilities exist within the importer for PowerPoint 4.0 format files. This functionality is contained within the PP4X32.DLL.

The first vulnerability occurs when reading in a record header from the file. Due to an incorrect buffer size calculation, it is possible to overflow a stack-based buffer. Proper exploitation of this eventually leads to control of the instruction pointer register, allowing for the execution of arbitrary code.

The second vulnerability occurs when reading in record data from the file. An integer is taken from the file, and used to control the number of bytes to copy into a fixed size stack buffer. This leads to a trivially exploitable stack-based buffer overflow.


Exploitation of these vulnerabilities results in the execution of arbitrary code with the privileges of the user opening the file. To exploit these vulnerabilities, 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.

Since the vulnerabilities are stack-based buffer overflows, and it is possible to overwrite SEH handlers or a frame pointer stored on the stack, exploitation is relatively simple.


iDefense has confirmed the existence of these vulnerabilities in the following versions of PowerPoint:

PowerPoint 2000 SP3

PowerPoint XP SP3

PowerPoint 2003 SP2 and SP3 contain the vulnerable code, but by default are unable to open PPT95 format files. This is due to the Office 2003 SP2/SP3 File Block Policy, which limits the file formats that Office applications will open without special permissions. If the targeted user has disabled the File Block Policy settings in PowerPoint 2003 SP3, then they are vulnerable. However, this is a non-default configuration. More on this policy can be found at the following URL.

Office 2007 and Office 2007 SP1 are not vulnerable to these issues.


Use the cacls program to deny access to the DLL containing the vulnerable code, PP4X32.DLL. This will prevent the vulnerable DLL from loading in PowerPoint, which will also prevent users from importing PowerPoint 4.0 files. If Office 2003 SP3 is being used, then the default behavior is to block the opening of PowerPoint 4.0 files. If the default behavior has been changed, restoring it is an effective 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-0220 to this issue. This is a candidate for inclusion in the CVE list (, which standardizes names for security problems.


08/29/2008 - Initial Contact 08/29/2008 - Initial Response 08/29/2008 - PoC Requested 09/02/2008 - PoC Requested 09/03/2008 - PoC Sent 09/04/2008 - Vendor assigned case number 12/11/2008 - Status update received - no estimated release date 05/12/2009 - Coordinated Public Disclosure


This vulnerability was reported to iDefense by Marsu.

Get paid for vulnerability research

Free tools, research and upcoming events


Copyright © 2009 iDefense, 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 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. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (MingW32) Comment: Using GnuPG with Mozilla -

iD8DBQFKCfDnbjs6HoxIfBkRArQSAKCGEEHjm6yhHYyqdFNxNZ5xmUUFMgCgzrSk EtbM/hCi5n9hz7Ej61bIGxg= =7zRV -----END PGP SIGNATURE-----