Zero Day Initiative Advisory 10-053 - This vulnerability allows remote attackers to execute arbitrary code on vulnerable installations of Sun's Java Runtime Environment. User interaction is required to exploit this vulnerability in that the target must visit a malicious page. The specific flaw exists within the handling of MIDI streams. When the code responsible for creating a MixerSequencer object from a MIDI stream encounters an 0xFF byte, it assumes it has reached a metaEvent. It then proceeds to parse out a variable-length field. By abusing the way this structure is stored an attacker can corrupt a pointer address later allowing a NULL byte write to an arbitrary memory address. This can be leveraged to execute remote code under the context of the user running the applet.
ac325623580367d4f9c5f873964395991b1f2031d90d9591dff6ed684341144f
ZDI-10-053: Sun Java Runtime Environment MIDI File metaEvent Remote Code Execution Vulnerability
http://www.zerodayinitiative.com/advisories/ZDI-10-053
April 5, 2010
-- CVE ID:
CVE-2010-0844
-- Affected Vendors:
Sun Microsystems
-- Affected Products:
Sun Microsystems Java Runtime
-- TippingPoint(TM) IPS Customer Protection:
TippingPoint IPS customers have been protected against this
vulnerability by Digital Vaccine protection filter ID 9342.
For further product information on the TippingPoint IPS, visit:
http://www.tippingpoint.com
-- Vulnerability Details:
This vulnerability allows remote attackers to execute arbitrary code on
vulnerable installations of Sun's Java Runtime Environment. User
interaction is required to exploit this vulnerability in that the target
must visit a malicious page.
The specific flaw exists within the handling of MIDI streams. When the
code responsible for creating a MixerSequencer object from a MIDI stream
encounters an 0xFF byte, it assumes it has reached a metaEvent. It then
proceeds to parse out a variable-length field. By abusing the way this
structure is stored an attacker can corrupt a pointer address later
allowing a NULL byte write to an arbitrary memory address. This can be
leveraged to execute remote code under the context of the user running
the applet.
-- Vendor Response:
Sun Microsystems has issued an update to correct this vulnerability. More
details can be found at:
http://www.oracle.com/technology/deploy/security/critical-patch-updates/javacpumar2010.html
-- Disclosure Timeline:
2009-12-10 - Vulnerability reported to vendor
2010-04-05 - Coordinated public release of advisory
-- Credit:
This vulnerability was discovered by:
* Peter Vreugdenhil (http://vreugdenhilresearch.nl)
-- About the Zero Day Initiative (ZDI):
Established by TippingPoint, The Zero Day Initiative (ZDI) represents
a best-of-breed model for rewarding security researchers for responsibly
disclosing discovered vulnerabilities.
Researchers interested in getting paid for their security research
through the ZDI can find more information and sign-up at:
http://www.zerodayinitiative.com
The ZDI is unique in how the acquired vulnerability information is
used. TippingPoint does not re-sell the vulnerability details or any
exploit code. Instead, upon notifying the affected product vendor,
TippingPoint provides its customers with zero day protection through
its intrusion prevention technology. Explicit details regarding the
specifics of the vulnerability are not exposed to any parties until
an official vendor patch is publicly available. Furthermore, with the
altruistic aim of helping to secure a broader user base, TippingPoint
provides this vulnerability information confidentially to security
vendors (including competitors) who have a vulnerability protection or
mitigation product.
Our vulnerability disclosure policy is available online at:
http://www.zerodayinitiative.com/advisories/disclosure_policy/
Follow the ZDI on Twitter:
http://twitter.com/thezdi