[Full-disclosure] iDefense Security Advisory 03.26.09: Sun Java Runtine Environment (JRE) Type1 Font Parsing Integer Signedness Vulnerability
labs-no-reply at idefense.com
Thu Mar 26 17:49:43 GMT 2009
-----BEGIN PGP SIGNED MESSAGE-----
iDefense Security Advisory 03.25.09
Mar 25, 2009
The Sun Java JRE is Sun's implementation of the Java runtime. For more
information, see the vendor's site found at the following link.
Remote exploitation of an integer signedness vulnerability in Sun
Microsystems Inc.'s Java JRE could allow an attacker to execute
arbitrary code with the privileges of the current user.
The vulnerability exists within the font parsing code in the JRE. As
part of its font API, the JRE provides the ability to load a font from
a remote URL.
The vulnerability occurs when parsing glyph description instructions in
the font file. When parsing the glyph descriptions, a 16bit signed
counter is used as the index to store the next glyph point value. This
counter is compared to a 32bit value that represents the maximum size
of the heap buffer. Under certain conditions, the 16bit counter will be
interpreted as a negative value, which allows the attacker to store data
before the allocated buffer.
Exploitation allows attackers to execute arbitrary code in the context
of the currently logged-on user. To exploit this vulnerability, a
targeted user must load a malicious Web page created by an attacker. An
attacker typically accomplishes this via social engineering or injecting
content into compromised, trusted sites.
iDefense has confirmed the existence of this vulnerability in Sun
Microsystem Inc.'s Java JRE version 1.6.0_11 for Windows. Previous
versions and versions for other platforms may also be affected.
Sun Microsystems reports that the vulnerability can occur in the
following Java SE and Java SE for Business releases for Windows,
Solaris, and Linux:
* JDK and JRE 6 Update 12 and earlier
* JDK and JRE 5.0 Update 17 and earlier
There is a potential workaround for the vulnerability, but it renders
the JRE unusable. It is possible to use the cacls program to change the
file permissions on fontmanager.dll. This will prevent the vulnerable
library from loading. This workaround can be applied with the following
echo y| cacls "C:\Program
Files\Java\**JRE_VERSION**\bin\fontmanager.dll" /E /P everyone:N
However, this workaround has a serious impact on the functionality of
the JRE. When a webpage attempts to load an applet, the JRE will abort
with a runtime error, and the browser will close.
VI. VENDOR RESPONSE
Sun Microsystem Inc. has released a patch which addresses this issue.
For more information, consult their advisory at the following URL:
VII. CVE INFORMATION
A Mitre Corp. Common Vulnerabilities and Exposures (CVE) number has not
been assigned yet.
VIII. DISCLOSURE TIMELINE
02/18/2009 - Initial Contact
02/18/2009 - PoC Requested
02/19/2009 - PoC Sent
03/10/2009 - Disclosure Date Set
03/25/2009 - Coordinated Public Disclosure
This vulnerability was discovered by Sean Larsson, iDefense.
Get paid for vulnerability research
Free tools, research and upcoming events
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 at 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
-----END PGP SIGNATURE-----
Full-Disclosure is hosted and sponsored by Secunia.