Vulnerability · Published Sep 16, 2024 · Assigned by GitHub_M
CVE-2024-45801Tampering by prototype polution in DOMPurify
High 7.3
In plain English
A high-severity regular-expression denial of service in DOMPurify from cure53. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.9% (higher than 60% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
DOMPurify is a DOM-only, super-fast, uber-tolerant XSS sanitizer for HTML, MathML and SVG. It has been discovered that malicious HTML using special nesting techniques can bypass the depth checking added to DOMPurify in recent releases. It was also possible to use Prototype Pollution to weaken the depth check. This renders dompurify unable to avoid cross site scripting (XSS) attacks. This issue has been addressed in versions 2.5.4 and 3.1.3 of DOMPurify. All users are advised to upgrade. There are no known workarounds for this vulnerability.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian:12 | node-dompurify | 2.4.1+dfsg+~2.4.0-2+deb12u1 | DEBIAN-CVE-2024-45801 |
| Ubuntu:22.04:LTS | node-dompurify | no fix listed | UBUNTU-CVE-2024-45801 |
| Ubuntu:24.04:LTS | node-dompurify | no fix listed | UBUNTU-CVE-2024-45801 |
| Ubuntu:25.10 | node-dompurify | no fix listed | UBUNTU-CVE-2024-45801 |
| Ubuntu:26.04:LTS | node-dompurify | no fix listed | UBUNTU-CVE-2024-45801 |
| Ubuntu:26.10 | node-dompurify | no fix listed | UBUNTU-CVE-2024-45801 |
| npm | dompurify | 3.1.3 | GHSA-mmhx-hmjr-r674 |
| npm | dompurify | 2.5.4 | GHSA-mmhx-hmjr-r674 |
Affected products (as reported)
Weakness: CWE-1333 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L