GHSA-4m3g-6r7g-jv4f Arbitrary JavaScript execution due to using outdated libraries

Not scored Published

Attackers can execute arbitrary JavaScript by uploading malicious PDFs to applications using the vulnerable gradio-pdf library.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
A user has to click or open something
Fix
Available

What is GHSA-4m3g-6r7g-jv4f?

GHSA-4m3g-6r7g-jv4f is a cross-site scripting vulnerability in gradio-pdf, published on 5 Jun 2024. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.

Official description

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

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

  3. Upload a PDF file containing the script. 2

  4. Check that the script is running. 3

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

Which versions are affected by GHSA-4m3g-6r7g-jv4f?

2 open source packages ship an affected version, including gradio-pdf and gradio_pdf.

PackageAffectedFixed in
gradio-pdf PyPIAll versions0.0.10
gradio_pdf PyPIAll versions0.0.10

How do I fix GHSA-4m3g-6r7g-jv4f?

Upgrade gradio-pdf to 0.0.10 or later.

Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.

Is GHSA-4m3g-6r7g-jv4f being exploited?

There is no known exploitation of GHSA-4m3g-6r7g-jv4f in the wild and no public exploit code.

Sources

Is GHSA-4m3g-6r7g-jv4f in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free