iDefense Security Advisory 06.10.08 - Remote exploitation of multiple heap overflow vulnerabilities in the FreeType2 library, as included in various vendors' operating systems, could allow an attacker to execute arbitrary code with the privileges of the affected application. iDefense has confirmed the existence of these vulnerabilities in FreeType2 version 2.3.5. Previous versions may also be affected.
9a4ef45fbc6785b0af6fa5c6bf4ca83872c3fb8be357ebe78481f18cc310c0fd
iDefense Security Advisory 06.10.08
http://labs.idefense.com/intelligence/vulnerabilities/
Jun 10, 2008
I. BACKGROUND
FreeType2 is an open source library for parsing fonts that is used by
many applications. This includes projects such as X.Org, Second Life,
and the Sun Java JRE. For more information, please see the vendor's
website at the following URL.
http://freetype.sourceforge.net/freetype2/
II. DESCRIPTION
Remote exploitation of multiple heap overflow vulnerabilities in the
FreeType2 library, as included in various vendors' operating systems,
could allow an attacker to execute arbitrary code with the privileges
of the affected application.
Two vulnerabilities exist within the code responsible for parsing font
files.
The first vulnerability occurs when parsing Printer Font Binary (PFB)
format font files. PFB files contain various data structures, some of
which are stored in a tabular format. When parsing tables, the code
doesn't correctly validate a value used as an array index into a heap
buffer. The calculation contains an off-by-one error, which can result
in a heap overflow.
The second vulnerability occurs when parsing TrueType Font (TTF) font
files. TrueType font files contain "font programs" that are executed in
a TrueType virtual machine. One of the instructions in the instruction
set is 'SHC', which is used to shift a contour in the font by a
specified value. When parsing this instruction, the code doesn't
correctly validate an array index, which leads to an off-by-one heap
overflow.
III. ANALYSIS
Exploitation of these vulnerabilities results in the execution of
arbitrary code with the privileges of the application using the
library. Since FreeType2 is a library and not a standalone application,
the exploitation vector will vary. iDefense Labs verified that local
privilege escalation was possible via the X.Org Xserver.
IV. DETECTION
iDefense has confirmed the existence of these vulnerabilities in
FreeType2 version 2.3.5. Previous versions may also be affected.
V. WORKAROUND
iDefense is currently unaware of any workarounds for these issues.
Changing the permissions on the freetype.so library may not always be
effective since applications that run with root privileges are not
restricted by file permissions.
VI. VENDOR RESPONSE
The FreeType maintainers addressed these vulnerabilities with the
release of version 2.3.6. For more information, refer to the release
notes at the following URL.
http://sourceforge.net/project/shownotes.php?group_id=3157&release_id=605780
VII. CVE INFORMATION
The Common Vulnerabilities and Exposures (CVE) project has assigned the
name CVE-2008-1808 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
06/03/2008 Initial vendor notification
06/04/2008 Initial vendor response
06/10/2008 Coordinated public disclosure
IX. CREDIT
These vulnerabilities were reported to iDefense by regenrecht.
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 © 2008 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.