PDF Flaw Revealed

By Larry Seltzer  |  Posted 2007-02-14 Print this article Print

Adobe Acrobat software lets parameters be passed to the software when a PDF file is opened. Generally speaking, this is helpful.

Adobe Acrobat software lets parameters be passed to the software when a PDF file is opened. Generally speaking, this is helpful. But because this capability includes opening a PDF from a Web site using a browser, and Web pages can execute scripts, Acrobat can be used to launch malware. For example, parameters may be passed in this form:


This tells Acrobat to jump immediately to a designated spot in the document. (See partners.adobe.com/public/developer/en/acrobat/PDFOpenParameters.pdf for specifics and more parameters.)

The problem is that the software supports passing JavaScript in the parameters:www.example.com/any.pdf#attacker_parameter=javascript:alert(pdf-attack)

This tells Acrobat to execute a malicious JavaScript. Previously, this sort of "Cross-Site Scripting" (XSS) has required server-side vulnerabilities and was often difficult to invoke. Now it can be implemented easily and through proper use of features. It can be delivered through e-mail, instant messaging, and many other vehicles.

XSS can be blocked in a managed network through filtering at a firewall or IDS/IPS. Individual users can disable PDF opening in their browsers. In Internet Explorer (since Microsoft Windows XP SP2), go to Tools | Internet Options | Programs, press the Manage Add-Ons button, select the Adobe PDF Reader from the list, click the Disable radio button, and then click OK.

In Firefox, open Tools | Options | Content, click Manage in the File Types section, and then, for each type opened by Acrobat, select Change Action and tell it to open the external application rather than the Acrobat plug-in.

According to Symantec, this problem affects Adobe Acrobat Reader versions 6 and 7. Version 8 is not vulnerable. All versions of Firefox and Internet Explorer 6 SP1 and earlier are vulnerable, but Internet Explorer 6 SP2 and Internet Explorer 7 appear not to be.

Larry Seltzer has been writing software for and English about computers ever since—,much to his own amazement—,he graduated from the University of Pennsylvania in 1983.

He was one of the authors of NPL and NPL-R, fourth-generation languages for microcomputers by the now-defunct DeskTop Software Corporation. (Larry is sad to find absolutely no hits on any of these +products on Google.) His work at Desktop Software included programming the UCSD p-System, a virtual machine-based operating system with portable binaries that pre-dated Java by more than 10 years.

For several years, he wrote corporate software for Mathematica Policy Research (they're still in business!) and Chase Econometrics (not so lucky) before being forcibly thrown into the consulting market. He bummed around the Philadelphia consulting and contract-programming scenes for a year or two before taking a job at NSTL (National Software Testing Labs) developing product tests and managing contract testing for the computer industry, governments and publication.

In 1991 Larry moved to Massachusetts to become Technical Director of PC Week Labs (now eWeek Labs). He moved within Ziff Davis to New York in 1994 to run testing at Windows Sources. In 1995, he became Technical Director for Internet product testing at PC Magazine and stayed there till 1998.

Since then, he has been writing for numerous other publications, including Fortune Small Business, Windows 2000 Magazine (now Windows and .NET Magazine), ZDNet and Sam Whitmore's Media Survey.

Submit a Comment

Loading Comments...
Manage your Newsletters: Login   Register My Newsletters

Rocket Fuel