-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 iDefense Security Advisory 05.12.09 http://labs.idefense.com/intelligence/vulnerabilities/ May 12, 2009 I. BACKGROUND 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. http://office.microsoft.com/en-us/powerpoint/default.aspx II. DESCRIPTION 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. III. 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. 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. IV. DETECTION 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. V. WORKAROUND Since PowerPoint Viewer 2003 is not affected, using it to view untrusted or unexpected PowerPoint files is a valid workaround. VI. VENDOR RESPONSE Microsoft has released a patch which addresses this issue. For more information, consult their advisory at the following URL: http://www.microsoft.com/technet/security/Bulletin/MS09-017.mspx VII. CVE INFORMATION 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 (http://cve.mitre.org/), which standardizes names for security problems. VIII. DISCLOSURE TIMELINE 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 IX. 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/ X. LEGAL NOTICES 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 customerservice@xxxxxxxxxxxx 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 - http://enigmail.mozdev.org iD8DBQFKCgKSbjs6HoxIfBkRAlILAKC4DED6VdCInUQPULgvmqQ930igcQCgrHY9 TS1yeuJfa/24dH5iFaGWhpY= =ZXSN -----END PGP SIGNATURE-----