search menu icon-carat-right cmu-wordmark

CERT Coordination Center

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

Vulnerability Note VU#970180

Original Release Date: 2009-04-29 | Last Revised: 2009-09-05

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.

      Vendor Information

      970180
       

      Adobe Affected

      Notified:  April 28, 2009 Updated: May 13, 2009

      Status

      Affected

      Vendor Statement

      We have not received a statement from the vendor.

      Vendor Information

      Please see Adobe Security Bulletin APSB09-06 and Adobe Security Advisory APSA09-02. See also:


      CVSS Metrics

      Group Score Vector
      Base 0 AV:--/AC:--/Au:--/C:--/I:--/A:--
      Temporal 0 E:Not Defined (ND)/RL:Not Defined (ND)/RC:Not Defined (ND)
      Environmental 0 CDP:Not Defined (ND)/TD:Not Defined (ND)/CR:Not Defined (ND)/IR:Not Defined (ND)/AR:Not Defined (ND)

      References

      Acknowledgements

      These vulnerabilities were publicly reported by Arr1val.

      This document was written by Art Manion.

      Other Information

      CVE IDs: CVE-2009-1492, CVE-2009-1493
      Severity Metric: 21.80
      Date Public: 2009-04-28
      Date First Published: 2009-04-29
      Date Last Updated: 2009-09-05 02:06 UTC
      Document Revision: 44

      Sponsored by CISA.