iDefense Security Advisory 05.12.09 - 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. iDefense has confirmed the existence of these vulnerabilities in PowerPoint 2000 SP3, 2002 XP SP3, 2003 SP2, and 2003 SP3.
84bba074996caa0939a7e44b41d9a7389b4b11a60328716bd8fa6f9a381fe0af
-----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@idefense.com 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-----