Vulnerability Note VU#970180

Adobe Reader and Acrobat customDictionaryOpen() and getAnnots() JavaScript vulnerabilities

Original Release date: 29 Apr 2009 | Last revised: 04 Sep 2009

Overview

Adobe Reader and Acrobat contain vulnerabilities in the customDictionaryOpen() and getAnnots() JavaScript methods.

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.

Impact

By convincing a user to open a specially crafted PDF file, an attacker may be able to execute arbitrary code.

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:

  1. Open Adobe Acrobat Reader.
  2. Open the Edit menu.
  3. Choose the Preferences... option.
  4. Choose the JavaScript section.
  5. 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:
  1. Open Adobe Acrobat Reader.
  2. Open the Edit menu.
  3. Choose the Preferences... option.
  4. Choose the Internet section.
  5. 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 (Learn More)

VendorStatusDate NotifiedDate Updated
AdobeAffected28 Apr 200913 May 2009
If you are a vendor and your product is affected, let us know.

CVSS Metrics (Learn More)

Group Score Vector
Base N/A N/A
Temporal N/A N/A
Environmental N/A N/A

References

Credit

These vulnerabilities were publicly reported by Arr1val.

This document was written by Art Manion.

Other Information

  • CVE IDs: CVE-2009-1492 CVE-2009-1493
  • US-CERT Alert: TA09-133B
  • Date Public: 28 Apr 2009
  • Date First Published: 29 Apr 2009
  • Date Last Updated: 04 Sep 2009
  • Severity Metric: 21.80
  • Document Revision: 44

Feedback

If you have feedback, comments, or additional information about this vulnerability, please send us email.