Skip to main content

Boteraser | Website and Server Security Solutions

🛡️ GHSA-4m3g-6r7g-jv4f — gradio-pdf (CVE-2024-4367)

🟢 CVSS 2.0 — Low ✅ No Known Exploit CWE-79 OSV
2.0
CVSS Score
0 Low4 Medium7 High9 Critical10

Description

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

1. Generate a pdf file with a malicious script in the fontmatrix. (This will run alert(‘XSS’).)

[poc.pdf](https://github.com/user-attachments/files/15516798/poc.pdf)

2. Run the app. In this PoC, I've used the demo for a simple proof.

![1](https://github.com/freddyaboulton/gradio-pdf/assets/114328108/d1bb7626-3d0f-4984-8873-297658d6e77e)

3. Upload a PDF file containing the script.

![2](https://github.com/freddyaboulton/gradio-pdf/assets/114328108/803d8080-c946-446e-bb34-cf5640e1b4de)

4. Check that the script is running.

![3](https://github.com/freddyaboulton/gradio-pdf/assets/114328108/4956b95f-acca-4bb1-a3c2-7dfc96adf890)

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

1. https://codeanlabs.com/blog/research/cve-2024-4367-arbitrary-js-execution-in-pdf-js/

2. https://github.com/mozilla/pdf.js/pull/18015

How this vulnerability can be exploited

This issue can be reached with local access to the system, attack complexity is low, an attacker needs no privileges on the target. A user must be tricked into taking some action. The scope is changed, meaning a successful attack can affect components beyond the vulnerable one. Rated impact: confidentiality low, integrity none, availability none.

Weakness class

GHSA-4m3g-6r7g-jv4f is classified as CWE-79: Cross-site Scripting (XSS). User-supplied data is written into a page without escaping, so attacker script runs in the browser of anyone who views it.

Affected software

GHSA-4m3g-6r7g-jv4f is recorded against 1 package.

  • gradio-pdf (fixed in 0.0.10)

Timeline and source

Published on 5 June 2024 and last revised on 2 December 2024. No public exploit is currently recorded for this entry. Record sourced from OSV.

References

github.com (Web)
github.com (Web)
github.com (Package)

Details

Severity LOW
CVSS Score 2.0
CVSS Vector CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:L/I:N/A:N
CWE CWE-79
Public Exploit ✅ No
Source OSV
Published 2024-06-05
Updated 2026-08-20
Modified 2024-12-02
Fix URL N/A

Affected Packages

Software From version Fixed in
gradio-pdf 0.0.10

Free Vulnerability Check

Is your site affected by GHSA-4m3g-6r7g-jv4f?

BotEraser helps you identify potentially vulnerable plugins and themes by checking your installation against GHSA-4m3g-6r7g-jv4f and other known CVE records.

Scan My Site Free →

No credit card required  ·  Results in minutes

ⓘ Data Notice: The information presented above has been compiled from publicly available internet sources. Boteraser aggregates this data solely for informational purposes and does not independently classify, evaluate, or endorse any findings about the vulnerabilities listed. The accuracy and completeness of this information is the sole responsibility of the original publishers. Boteraser and its operators accept no liability for any decisions made based on this data.