by Art Manion
Adobe Reader and Acrobat JavaScript vulnerabilities
Overview
Adobe Reader and Acrobat contain vulnerabilities in the customDictionaryOpen() and getAnnots() JavaScript methods.
I. Description
Adobe Reader and the Adobe Acrobat family of software is designed to create, view, and edit Portable Document Format (PDF) files. Adobe Reader is widely deployed, and the Acrobat Reader Plug-In displays PDF inside a web browser.
Adobe Reader and Acrobat support JavaScript. The JavaScript methods customDictionaryOpen() (CVE-2009-1493) and getAnnots() (CVE-2009-1492) do not safely handle specially crafted arguments and can be manipulated to execute arbitrary code. Publicly available exploit code claims to work on Adobe Reader 9.1 and 8.1.4 on GNU/Linux. Limited testing shows that Adobe Reader and Acrobat on and Microsoft Windows platforms crash when parsing a PDF file that contains a specially crafted getAnnots() call. As of 2009-04-29 we have not confirmed the reported customDictionaryOpen() vulnerability.
Adobe Security Advisory APSA09-02 states that the getAnnots() vulnerability affects Adobe Reader and Acrobat for Microsoft Windows, Apple Mac OS X, and UNIX, while the customDictionaryOpen() vulnerability appears to only affect Adobe Reader for UNIX.
II. Impact
By convincing a user to open a specially crafted PDF file, an attacker may be able to execute arbitrary code.
III. Solution
Update
From Adobe Security Bulletin APSB09-06, update to version 9.1.1, 8.1.5, or 7.1.2 of Adobe Reader and Adobe Acrobat Standard, Pro and Pro Extended.
Disable JavaScript in Adobe Reader and Acrobat
Disabling JavaScript prevents these vulnerabilities from being exploited and reduces attack surface. If this workaround is applied to updated versions of Adobe Reader and Acrobat, it may protect against future vulnerabilities.
To disable JavaScript in Adobe Reader:
Open Adobe Acrobat Reader.
Open the Edit menu.
Choose the Preferences… option.
Choose the JavaScript section.
Uncheck the Enable Acrobat JavaScript check box.
Disabling JavaScript will not resolve the vulnerabilities, it will only disable the vulnerable JavaScript component. When JavaScript is disabled, Adobe Reader and Acrobat prompt to re-enable JavaScript when opening a PDF that contains JavaScript.
Some vendors ship JavaScript support in a separate package. Removing this package may remove JavaScript support.
Prevent Internet Explorer from automatically opening PDF documents
The installer for Adobe Reader and Acrobat configures Internet Explorer to automatically open PDF files without any user interaction. This behavior can be reverted to the safer option of prompting the user by importing the following as a .REG file:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\AcroExch.Document.7]
“EditFlags”=hex:00,00,00,00
Disable the displaying of PDF documents in the web browser
Preventing PDF documents from opening inside a web browser reduces attack surface. If this workaround is applied to updated versions of Adobe Reader and Acrobat, it may protect against future vulnerabilities.
To prevent PDF documents from automatically being opened in a web browser with Adobe Reader:
Open Adobe Acrobat Reader.
Open the Edit menu.
Choose the Preferences… option.
Choose the Internet section.
Uncheck the Display PDF in browser check box.
Rename or remove Annots.api
To disable the vulnerable getAnnots() method, rename or remove the Annots.api file. This will disable some Annotation functionality, however annotations can still be viewed. This does not protect against the customDictionaryOpen() vulnerability.
On Windows, Annots.api is typically located here:
“%ProgramFiles%\Adobe\Reader 9.0\Reader\plug_ins”
Example location on GNU/Linux:
/opt/Adobe/Reader8/Reader/intellinux/plug_ins/Annots.api
Do not access PDF documents from untrusted sources
Do not open unfamiliar or unexpected PDF documents, particularly those hosted on web sites or delivered as email attachments. Please see Cyber Security Tip ST04-010.
Systems Affected
Vendor Status Date Notified Date Updated
Adobe Vulnerable 2009-04-28 2009-05-13
References
http://www.adobe.com/support/security/bulletins/apsb09-06.html
http://www.adobe.com/support/security/advisories/apsa09-02.html
http://blogs.adobe.com/psirt/2009/04/potential_adobe_reader_issue.html
http://blogs.adobe.com/psirt/2009/04/update_on_adobe_reader_issue.html
http://blogs.adobe.com/psirt/2009/05/adobe_reader_issue_update.html
http://www.adobe.com/devnet/acrobat/pdfs/js_api_reference.pdf
http://www.securityfocus.com/bid/34736/
http://www.securityfocus.com/bid/34740/
Credit
These vulnerabilities were publicly reported by Arr1val.