CVE-2026-65913
mediumpriority · track · 24EPSS 0.003 · 25 %ileEUUSEPSS · scored 2026-10-27
DOMPurify before 3.3.2 contains a prototype pollution vulnerability in USE_PROFILES mode that allows attackers to bypass attribute filtering by polluting Array.prototype properties. Attackers can set Array.prototype properties like onclick to true, causing DOMPurify to accept event handlers as allowlisted attributes and resulting in DOM-based XSS when sanitized markup is rendered.
cvss
Technical severity, 0–10. One row per scoring source.
base score 0–10 · higher = more severe · hover a vector to decode⚠ sources disagree · low–medium · 1.2–6.1
ssvc
A stakeholder decision — act, attend, or track — from exploitation and impact.
weaknesses
The CWE weakness classes this flaw belongs to.
affected products (3)
Products and version ranges known to be affected.
advisories (1)
Vendor and ecosystem advisories describing this.
- GHSA-cj63-jhhr-wcxvDOMPurify USE_PROFILES prototype pollution allows event handlers2026-04-03ghsa · osvUS
## Summary When `USE_PROFILES` is enabled, DOMPurify rebuilds `ALLOWED_ATTR` as a plain array before populating it with the requested allowlists. Because the sanitizer still looks up attributes via `ALLOWED_ATTR[lcName]`, any `Array.prototype` property that is polluted also counts as an allowlisted attribute. An attacker who can set `Array.prototype.onclick = true` (or a runtime already subject to prototype pollution) can thus force DOMPurify to keep event handlers such as `onclick` even when they are normally forbidden. The provided PoC sanitizes `<img onclick=...>` with `USE_PROFILES` and adds the sanitized output to the DOM; the polluted prototype allows the event handler to survive and execute, turning what should be a blocklist into a silent XSS vector. ## Impact Prototype pollution makes DOMPurify accept dangerous event handler attributes, which bypasses the sanitizer and results in DOM-based XSS once the sanitized markup is rendered. ## Credits Identified by Cantina’s Apex (https://www.cantina.security).
also known as (2)
Other names and identifiers for this entity.
sources
Which sources assert this record, and when.
references (6)
External citations — patches, advisories, analysis.
- https://github.com/cure53/DOMPurify/security/advisories/GHSA-cj63-jhhr-wcxvcnnvd
- https://www.vulncheck.com/advisories/dompurify-before-prototype-pollution-via-use-profilescnnvd
- https://github.com/cure53/DOMPurify/security/advisories/GHSA-cj63-jhhr-wcxvenisa_euvd
- https://www.vulncheck.com/advisories/dompurify-before-prototype-pollution-via-use-profilesenisa_euvd
- https://github.com/cure53/DOMPurify/security/advisories/GHSA-cj63-jhhr-wcxvThird Party Advisorynvd
- https://www.vulncheck.com/advisories/dompurify-before-prototype-pollution-via-use-profilesThird Party Advisorynvd
Attackers weaponise vulnerabilities like this against internet-exposed services. See what is exposed on your perimeter with a free passive scan.
Free scan