CVE-2026-109344
6.1MediumPublished 12 Oct 2026 · NVD status: Awaiting Analysis · AI triage by gemini-3.8-flash
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Required
- Impact
- Limited impact
- Weakness
- CWE-79
Impact
Attackers can execute arbitrary JavaScript in the victim's browser context if the user views malicious markup. This requires a victim to load attacker-supplied content in an application using custom DOMPurify sanitize hooks.
Root cause
DOMPurify's IN_PLACE mode fails to sanitize detached DOM subtrees when afterSanitizeElements or afterSanitizeAttributes hooks remove wrapper elements, leaving armed event handlers intact.
Affected systems
DOMPurify from 3.4.13 before 3.4.16
CVSS v3.1 · CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Fix & remediation
Upgrade DOMPurify to version 3.4.16 or higher. If upgrading must wait, avoid using IN_PLACE mode alongside afterSanitizeElements or afterSanitizeAttributes hooks that detach wrapper nodes.
$ npm install dompurify@^3.4.16AI-suggested. Run it in staging first and check it against the vendor advisory. Why?
NVD description
DOMPurify from 3.4.13 before 3.4.16 contains a cross-site scripting vulnerability because IN_PLACE mode fails to neutralize subtrees detached by afterSanitizeElements or afterSanitizeAttributes hooks. Attackers can supply markup with on* handlers inside a wrapper removed by such hooks, leaving handlers armed on the live DOM to execute script in the victim origin.