Arbitrary JavaScript execution due to using outdated libraries
Summary
gradio-pdf projects with dependencies on the pdf.js library are vulnerable to CVE-2024-4367, which allows arbitrary JavaScript execution.
PoC
-
Generate a pdf file with a malicious script in the fontmatrix. (This will run
alert(‘XSS’).) poc.pdf -
Run the app. In this PoC, I've used the demo for a simple proof.
-
Upload a PDF file containing the script.
-
Check that the script is running.
Impact
Malicious scripts can be injected into the code, and when linked with vulnerabilities such as CSRF, it can cause even greater damage. In particular, It can become a source of further attacks, especially when linked to social engineering.
Mitigation
Upgrade the pdf.js to v4.2.67, which removes the vulnerability. (or set the option isEvalSupported to false.)
Reference
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| Python (PyPI) | gradio-pdf | < 0.0.10 | 0.0.10 |
References
- CVSS vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:L/I:N/A:N- Weakness (CWE)
CWE-79- Platform
- Python (PyPI)
- Package
gradio-pdf- Disclosed
- 05.06.2024
- Updated
- 11.10.2026 12:18
Sources and licenses
OSV / GitHub Advisory Database - GHSA-4m3g-6r7g-jv4f - CC BY 4.0
Vulnerability history: gradio-pdf
All published vulnerabilities of this package (Python (PyPI)), newest first. Shows whether this is a one-off slip or a package that needs watching.
This is the only known vulnerability of this package.
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.