Sun Java Runtime Environment MixerSequencer Invalid Array Index Remote Code Execution Vulnerability

2010-04-05T00:00:00
ID ZDI-10-060
Type zdi
Reporter Peter Vreugdenhil ( http://vreugdenhilresearch.nl )
Modified 2010-11-09T00:00:00

Description

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 MixerSequencer objects. When this object is used to play a MIDI file, the GM_Song structure is populated with song data. In particular, it stores a integer value from the file and uses it later as an index into an array of function pointers. If this value is over 128 the process can be made to call a pointer outside the array. This can be leveraged to execute arbitrary code under the context of the user running the applet.