Oracle Java Soundbank Decompression Remote Code Execution Vulnerability

ID ZDI-11-199
Type zdi
Modified 2011-11-09T00:00:00


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

The specific flaw exists within the way Java parses soundbank files. When a soundbank file contains compressed data it is first decompressed and then Java will parse the decompressed data. Java will read the 'channels' and 'frames' properties from the decompressed data and uses those to calculate a buffer size to store data. An integer wrap can occur during this calculation resulting in the creation of a buffer that is too small to hold all the data. This can result in remote code execution under the context of the current user.