Security researchers on Thursday documented and described a new injection technique capable of extracting sensitive data from PDF files.
“One simple link can compromise the entire contents of an unknown PDF,” researcher Gareth Heyes warned during a presentation at the Black Hat Europe security conference.
The new code-injection technique essentially allows hackers to inject code to launch dangerous XSS (cross-site scripting) attacks within the bounds of a PDF document.
PDF, short for Portable Document Format, is the de-facto standard for document sharing among businesses. The format is widely used with airline tickets, boarding passes and other documents that typically contain passport numbers, home addresses, bank account details and other valuable private data.
He explained that the problem is caused because vulnerable PDF libraries do not properly parse code — specifically parentheses and backslashes, exposing PDF files to danger.
Heyes tested the technique on several popular PDF libraries and confirmed two popular libraries were vulnerable to the exploitation technique — PDF-Lib (52,000 weekly downloads) and jsPDF (250,000 downloads).
Heyes found that he could exfiltrate the contents from PDFs to a remote server using a rigged URL. “Even PDFs loaded from the filesystem in Acrobat, which have more rigorous protection, can still be made to make external requests,” he warned, demonstrating how he successfully crafted an injection that can perform an SSRF attack on a PDF rendered server-side.
“I’ve also managed to read the contents of files from the same domain, even when the Acrobat user agent is blocked by a WAF,” he said, noting that the attack also allows malicious hackers to steal the contents of a PDF without user interaction.