¥app.alert(1) is the new alert(1): PDFs as a vector to inject JavaScript in web apps
summary
Shows concrete exploit paths: app.alert(1) is often benign but attackers chain real issues in libraries like PDF.js and Apryse Webviewer to run JS. Demonstrates two unsanitized array entry points (font matrix/glyph) leading to XSS (CVE-2018-5158, CVE-2024-4367) and a sandbox bypass that deletes blocked globals to regain DOM access, plus an annotation default-value -> unsafeInnerHTML flaw used against Dropbox. Notes scale: PDF.js downloads ~3.5M/week and multiple CVEs in 2024, and which mitigations actually work.
AI-written summary · about
chapters (13)
- 0:00PDF as modern web attack vector
- 1:09PDF JavaScript sandbox bypass risks
- 2:20History of PDF and JavaScript
- 7:26First XSS in PDF.js (2018)
- 10:58Second XSS in PDF.js (2024)
- 15:59XSS in Apprise PDF SDK
- 26:47PDF.js more secure than Apprise SDK
- 33:24Bypassing Apprise sandbox with annotations
- 37:01PDF.js in Electron apps and RCE in Slack
- 41:00False positives in PDF XSS reports
- 45:18Bug bounty hunting recommendations
- 47:21Mitigating PDF-based XSS
- 50:14Q&A
related talks
33mPDF - Mess With The Web
23mJavaScript attack surface
32mWriting Secure JavaScript Code
24mStrangerDanger: Finding Security Vulnerabilities Before They Find You!
01h 02mPrompt-Jacking: The Rise of a New Supply Chain Risk
35mStrangerDanger: Finding Security Vulnerabilities Before They Find You!
50mModern WebApp Vulnerabilities
45mPrompt-Jacking: The Rise of a New Supply Chain Risk
