A security researcher has uncovered a way to abuse the functionality of PDF file viewers to launch attacks without exploiting an actual software vulnerability. Adobe says a warning generated by such an attempt is enough to protect users.
A security researcher said he has found a new way to exploit Adobe Reader
and other PDF-viewing software without using an actual security vulnerability.
The researcher, Didier Stevens, has developed a
proof-of-concept PDF file that launches an embedded executable. According
to Stevens, PDF viewers like Adobe Reader and Foxit Software's Foxit
Reader do not allow embedded executables to be extracted and run. In his
proof-of-concept, however, he was able to execute the embedded
executable using a launch action triggered when his PDF file is
opened.
"The warning message provided in Adobe Reader and Adobe Acrobat includes
strong wording advising users to only open and execute the file if it comes
from a trusted source," noted Adobe spokesperson Wiebke Lips.
According to Stevens, the idea of using the launch action functionality
first came to his attention about two years ago. Though he did some tests at
the time, he noted that a warning was generated when he tried to launch a
program, so he did not investigate further.
"A couple of weeks ago, I revisited my research, and noticed that the dialog
box had changed, and I found a way to partially control the message displayed
by the warning dialog," said Stevens, an IT security consultant for Contraste Europe.
"This motivated me to continue to look for a way to abuse the possibility to
pass parameters to cmd.exe, and ultimately execute arbitrary code that I embed
in the PDF document."
He added that he could have chosen to download arbitrary code and execute it
as well. In addition, he found that Foxit Reader generates no warning at all,
and the action gets executed without user interaction.
Lips said Stevens' proof-of-concept relies on functionality defined in the PDF specification (ISO
PDF 32000-1:2008) and is an example of "powerful functionality relied on by
some users that also carries potential risks when used incorrectly."
"Adobe takes the security of our products and technologies very seriously;
we are therefore always listening to and evaluating ways to allow end users and
administrators to better manage and configure features like this one to
mitigate potential associated risks," Lips said.
On his blog, Stevens wrote that disabling JavaScript will have no effect on
this, and patching Adobe Reader is technically not possible since he is
"just being creative with the PDF language specs."
Ideally, he told eWEEK, Adobe should just disable the feature.
"A quick fix is to remove the code that recognizes the launch
keyword," he added. "But I have no idea how prevalent the use of
this launch action is in the world of benign PDF documents."