Advisory Details

April 5th, 2010

Sun Java Runtime Environment MIDI File metaEvent Remote Code Execution Vulnerability

ZDI-10-053
ZDI-CAN-631

CVE ID CVE-2010-0844
CVSS SCORE 10.0, AV:N/AC:L/Au:N/C:C/I:C/A:C
AFFECTED VENDORS Sun Microsystems
AFFECTED PRODUCTS Java Runtime
TREND MICRO CUSTOMER PROTECTION Trend Micro TippingPoint IPS customers are protected against this vulnerability by Digital Vaccine protection filter ID ['9342']. For further product information on the TippingPoint IPS: 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.

ADDITIONAL DETAILS 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 Peter Vreugdenhil (http://vreugdenhilresearch.nl)
BACK TO ADVISORIES