// back

Microsoft Embedded OpenType Font Engine (T2EMBED.DLL) Heap Buffer Overflow Vulnerability

07.14.09

BACKGROUND

Microsoft Embedded OpenType Font Engine (T2EMBED.DLL) allows an application to load a custom OpenType font. It is often used by Internet Explorer to load embedded fonts for a webpage, or by applications such as Microsoft Office to support loading custom embedded fonts.

http://www.microsoft.com/typography/otspec/otover.htm

DESCRIPTION

Remote exploitation of a heap based buffer overflow vulnerability in Microsoft Corp.'s Embedded OpenType Font Engine (T2EMBED.DLL) could allow an attacker to execute arbitrary code with the privileges of the current user.

During the processing of a malicious OpenType Font, an integer truncation issue can occur on a specific length value. This can result in a large overwrite of the heap using attacker controlled data. The attacker may gain arbitrary execution control by overwriting specific data structures on the heap, such as an object virtual function table.

ANALYSIS

Exploitation of this vulnerability results in the execution of arbitrary code in the context of the application processing the malicious font file. All applications that support Embedded OpenType Fonts using the T2EMBED library are likely to be vulnerable.

There are several attack vectors available to exploit this vulnerability. A targeted victim may be lured to a website hosting a malicious OpenType font, or the targeted victim may visit a trusted website that been compromised and is hosting a malicious font file. Upon loading the web page, the victim's web browser is compromised. Alternatively, an attacker may email a Microsoft Word document containing a malicious embedded font to the victim. Upon opening the Word document, the victim's Office Word application is compromised.

DETECTION

iDefense has confirmed the existence of this vulnerability in the Embedded OpenType Font Engine for Windows Vista SP1 (T2EMBED.DLL version 6.0.6001.18000) and Windows XP SP3 (T2EMBED.DLL version 5.1.2600.5512). Previous versions may also be affected.

Microsoft comfirms/reports the following products are vulnerable:

Microsoft Windows 2000 SP 4

Windows XP SP 2

Windows XP SP 3

Windows XP Professional x64 Edition SP 2

Windows Server 2003 SP 2

Windows Server 2003 x64 Edition SP 2

Windows Server 2003 with SP2 for Itanium-based Systems

Windows Vista, Windows Vista SP 1, and Windows Vista SP 2

Windows Vista x64 Edition, Windows Vista x64 Edition SP 1, and Windows Vista x64 Edition SP 2

Windows Server 2008 for 32-bit Systems and Windows Server 2008 for 32-bit Systems SP 2

Windows Server 2008 for x64-based Systems and Windows Server 2008 for x64-based Systems SP 2

Windows Server 2008 for Itanium-based Systems and Windows Server 2008 for Itanium-based Systems SP 2

WORKAROUND

Internet Explorer provides an option to ignore font styles specified on web pages. Unfortunately this option does not mitigate all aspects of the vulnerability.

On Windows XP the following command may be issued as Administrator to mitigate the vulnerability: echo y| cacls "%SystemRoot%system32t2embed.dll" /E /P everyone:N

On Windows Visa the following commands may be issued as Administrator to mitigate the vulnerability: takeown.exe /f "%SystemRoot%system32t2embed.dll"

echo y| cacls "%SystemRoot%system32t2embed.dll" /E /P everyone:N

These commands will prevent the library from being loading into a application. When this command has been issued, Microsoft Internet Explorer and Microsoft Word appear to operate correctly without any serious side effects.

VENDOR RESPONSE

Microsoft has released a patch which addresses this issue. Directly downloadable vendor updates for this report are accessible via the iDefense Intelligence web portal (https://ialert.idefense.com) and the iDefense Intelligence XML web service. Information about non-directly downloadable vendor updates can be found by clicking on the URLs shown.

http://www.microsoft.com/technet/security/bulletin/MS09-029.mspx

CVE INFORMATION

The Common Vulnerabilities and Exposures (CVE) project has assigned the name CVE-2009-0231 to this issue. This is a candidate for inclusion in the CVE list (http://cve.mitre.org/), which standardizes names for security problems.

DISCLOSURE TIMELINE

08/25/2008 - Initial Contact
08/26/2008 - Initial Vendor Response
09/10/2008 - PoC Requested
09/22/2008 - PoC Sent
12/12/2008 - Vendor Status Update - estimated March or May
02/26/2009 - Vendor set tentative release date of 06/09/2009
03/27/2009 - Vendor confirmed attribution.
04/23/2009 - Requested CVE
07/14/2009 - Coordinated Public Disclosure

CREDIT

The discoverer of this vulnerability wishes to remain anonymous.

Get paid for vulnerability research
http://labs.idefense.com/methodology/vulnerability/vcp.php

Free tools, research and upcoming events
http://labs.idefense.com/

LEGAL NOTICES

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.