CVE-2024-39919 Capture screenshot of localhost web services (unauthenticated pages) in @jmondi/url-to-png
Attackers can capture screenshots of internal localhost services via the url-to-png library, exposing sensitive internal data.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2024-39919?
CVE-2024-39919 is a low-severity server-side request forgery vulnerability in jasonraimondi url-to-png, published on 15 Jul 2024. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
@jmondi/url-to-png is an open source URL to PNG utility featuring parallel rendering using Playwright for screenshots and with storage caching via Local, S3, or CouchDB. The package includes an `ALLOW_LIST` where the host can specify which services the user is permitted to capture screenshots of. By default, capturing screenshots of web services running on localhost, 127.0.0.1, or the [::] is allowed. If someone hosts this project on a server, users could then capture screenshots of other web services running locally. This issue has been addressed in version 2.1.1 with the addition of a blocklist. Users are advised to upgrade. There are no known workarounds for this vulnerability.
Weakness: CWE-200
Which versions are affected by CVE-2024-39919?
2 open source packages ship an affected version, including @jmondi/url-to-png.
| Package | Affected | Fixed in |
|---|---|---|
@jmondi/url-to-png npm | All versions | 2.1.2 |
@jmondi/url-to-png npm | All versions | 2.1.2 |
How do I fix CVE-2024-39919?
Upgrade @jmondi/url-to-png to 2.1.2 or later.
Upgrade, and send outbound requests through an allow-list that blocks internal addresses. More about Server-side request forgery.
Is CVE-2024-39919 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2024-39919 exists.
Sources
Also known as GHSA-342q-2mc2-5gmp.