|
|
|
|
| |
Credit:
The information has been provided by Sean Larsson.
The original article can be found at: http://labs.idefense.com/intelligence/vulnerabilities/display.php?id=776
|
| |
Vulnerable Systems:
* Adobe Acrobat Reader versions 7.1.0, 8.1.3, 9.0.0 and prior
* Adobe Acrobat Professional versions 7.1.0, 8.1.3, 9.0.0 and prior
The vulnerability occurs when parsing a JBIG2-encoded stream inside of a PDF file. JBIG2 is an image encoding format that is primarily used for encoding monochrome images such as faxes.
When parsing the contents of a JBIG2 stream, a 32-bit value that represents the number of values in a table is used to allocate a heap buffer. This buffer is then filled with values from the file, without properly checking the bounds of the buffer. This leads to a heap based buffer overflow that can result in arbitrary code execution.
Exploitation of this vulnerability allows the attacker to execute arbitrary code with the privileges of the user opening the file. The attacker will have to create a malicious PDF file and convince the victim to open it. This can be accomplished by embedding the PDF file into an iframe inside of a Web page, which will result in automatic exploitation once the page is viewed. The file could also be e-mailed as an attachment or placed on a file share. In these cases, a user would have to manually open the file to trigger exploitation.
Typically, heap based buffer overflows can be difficult to exploit due to modern heap implementations that perform heap integrity checks. However, Abode Reader and Acrobat use a custom heap allocator which can be abused to write arbitrary values to arbitrary locations. Labs testing has demonstrated this vulnerability is highly exploitable.
JavaScript is not required to exploit this vulnerability, however, it does make exploitation simpler.
Patch Availability:
Adobe has released a patch which addresses this issue. For more information, consult their advisory (APSB09-04) at the following URL:
http://www.adobe.com/support/security/bulletins/apsb09-04.html
Workaround
None of the following workarounds will prevent exploitation, but they can reduce potential attack vectors and make exploitation more difficult.
Prevent PDF documents from being opened automatically by the Web browser.
Disable JavaScript in the vulnerable products.
Follow best practice methodologies by avoiding opening files from untrusted or unsolicited sources.
Deploy DEP (Data Execution Prevention).
CVE Information:
CVE-2009-0928
Disclosure Timeline:
02/24/2009 - Initial Contact
02/24/2009 - Initial Response
02/24/2009 - PoC Requested
02/25/2009 - PoC Sent
03/06/2009 - Status update received - proposed release date of 03/18/2009
03/17/2009 - Vendor proposes new release date of 03/24/2009
03/24/2009 - Coordinated public disclosure
|
|
|
|
|