CVE-2024-21549 Browsershot Improper Input Validation vulnerability

High 7.7 Published Updated

An attacker can read arbitrary local files by bypassing URL validation in the setUrl method of the spatie/browsershot library.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2024-21549?

CVE-2024-21549 is a high-severity path traversal vulnerability in spatie/browsershot, published on 20 Dec 2024. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

Versions of the package spatie/browsershot before 5.0.3 are vulnerable to Improper Input Validation due to improper URL validation in the setUrl method. An attacker can exploit this vulnerability by utilizing view-source:file://, which allows for arbitrary file reading on a local file. **Note:** This is a bypass of the fix for [CVE-2024-21544](https://security.snyk.io/vuln/SNYK-PHP-SPATIEBROWSERSHOT-8496745).

Weakness: CWE-20

Which versions are affected by CVE-2024-21549?

2 open source packages ship an affected version, including spatie/browsershot.

PackageAffectedFixed in
spatie/browsershot PackagistAll versions5.0.3
spatie/browsershot PackagistAll versions5.0.3

How do I fix CVE-2024-21549?

Upgrade spatie/browsershot to 5.0.3 or later.

Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.

Is CVE-2024-21549 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2024-21549 exists.

Sources

Also known as GHSA-c9f5-29f6-c35w.

Is CVE-2024-21549 in your software?

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

Check your SBOMs for free