TippingPoint Zero Day Initiative
 

Sun Java Pack200 Decoding Inner Class Count Integer Overflow Vulnerability

ZDI-09-049: August 5th, 2009

CVE ID

Affected Vendors

Affected Products

Vulnerability Details

This vulnerability allows remote attackers to execute arbitrary code on vulnerable installations of the Sun Java Runtime. User interaction is required in that a target must visit a malicious web page or open a malicious JNLP file.

The specific flaw exists within the code responsible for handling Pack200 compressed JAR files. During decompression, several fields within a Pack200 header are trusted and used to calculate sizes for heap buffer allocations. By providing malicious values an attacker can create undersized heap buffers and subsequently overflow them. This can be leveraged to execute arbitrary code under the context of the user accessing the file or web page.

Vendor Response

Sun Microsystems has issued an update to correct this vulnerability. More details can be found at:

Disclosure Timeline

    2009-04-15 - Vulnerability reported to vendor
    2009-08-05 - Coordinated public release of advisory

Credit

This vulnerability was discovered by:
    Anonymous