prismjs/prism · Security
PrismJS DOM Clobbering vulnerability
- GHSA ID
- GHSA-x7hr-w5r2-h6wg
- CVE ID
- CVE-2024-53382
- Severity
- medium
- Published
- Updated
- CVSS
- 4.9 · CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:N
- CVSS v3
- 4.9 · CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:N
Description
Prism (aka PrismJS) through 1.29.0 allows DOM Clobbering (with resultant XSS for untrusted input that contains HTML but does not directly contain JavaScript), because document.currentScript lookup can be shadowed by attacker-injected HTML elements.
CWEs
- CWE-79 · Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
- CWE-94 · Improper Control of Generation of Code ('Code Injection')
References
- https://nvd.nist.gov/vuln/detail/CVE-2024-53382 ↗
- https://gist.github.com/jackfromeast/aeb128e44f05f95828a1a824708df660 ↗
- https://github.com/PrismJS/prism/blob/59e5a3471377057de1f401ba38337aca27b80e03/prism.js#L226-L259 ↗
- https://github.com/PrismJS/prism/pull/3863 ↗
- https://github.com/PrismJS/prism/commit/8e8b9352dac64457194dd9e51096b4772532e53d ↗
- https://github.com/advisories/GHSA-x7hr-w5r2-h6wg ↗