CVE-2024-28237 json
OctoPrint XSS via the "Snapshot Test" feature in Classic Webcam plugin settings
published 2024-03-18 2 y ago modified 2026-06-17 4 mo ago also EUVD-2024-0121 , GHSA-x7mf-wrh9-r76c , PYSEC-2024-179
- cvss
- 4.0
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 38%
- public exploits
- 0
- none known
Summary
OctoPrint provides a web interface for controlling consumer 3D printers. OctoPrint versions up until and including 1.9.3 contain a vulnerability that allows malicious admins to configure or talk a victim with administrator rights into configuring a webcam snapshot URL which when tested through the "Test" button included in the web interface will execute JavaScript code in the victims browser when attempting to render the snapshot image. An attacker who successfully talked a victim with admin rights into performing a snapshot test with such a crafted URL could use this to retrieve or modify sensitive configuration settings, interrupt prints or otherwise interact with the OctoPrint instance in a malicious way. The vulnerability is patched in version 1.10.0rc3. OctoPrint administrators are strongly advised to thoroughly vet who has admin access to their installation and what settings they modify based on instructions by strangers.
Patch / fix
- pypi octoprint 1.10.0, 1.10.0rc3
- octoprint octoprint 1.10.0-rc3
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 2 y ago
Exploit prediction
0.43% chance of exploitation in the next 30 days, higher than 38% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/OctoPrint/OctoPrint/security/advisories/GHSA-x7mf-wrh9-r76c referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 4.0 | CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:U/C:L/I:L/A:L |
| GitHub | 3.1 | 4.0 | CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:U/C:L/I:L/A:L |
| NVD | 3.1 | 4.8 | CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N |
| OSV | 3.1 | 4.8 | CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | octoprint | <1.10.0rc3 <1.10.0 |
1.10.0rc3 1.10.0 |
Affected products
- OctoPrint OctoPrint
Classification
- Weakness
-
- CWE-79 Improper Neutralization of Input During Web Page Generation
References
-
github.com
/OctoPrint/OctoPrint/commit/779894c1bc6478332d14bc9ed1006df1354eb517
web, patch
-
github.com
/OctoPrint/OctoPrint/security/advisories/GHSA-x7mf-wrh9-r76c
web, exploit, vendor-advisory, advisory, evidence
-
nvd.nist.gov
/vuln/detail/CVE-2024-28237
advisory
-
github.com
/OctoPrint/OctoPrint
package
-
github.com
/pypa/advisory-database/tree/main/vulns/octoprint/PYSEC-2024-179.yaml
web
-
github.com
/advisories/GHSA-x7mf-wrh9-r76c
advisory
Sources
- CVE List CVE-2024-28237
- GitHub Advisory GHSA-x7mf-wrh9-r76c
- NVD CVE-2024-28237
- OSV PYSEC-2024-179
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.