CVE-2026-47423: cure53 DOMPurify XSS bypass via selectedcontent re-cloning

CVE-2026-47423 · Severity: high · CVSS 8.2 · Published 2026-07-14

DOMPurify, a widely used security library for cleaning web content to prevent malicious scripts, contains a vulnerability in version 3.4.4. An attacker can bypass the security filters by using a specific HTML tag that causes the browser to re-load malicious code after the library has already finished its check. If exploited, this could allow an attacker to steal user data, hijack sessions, or perform unauthorized actions on behalf of users visiting a compromised website.

Technologies: dompurify (npm). Vendors: npm.

Quick answers

Is CVE-2026-47423 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-47423 being exploited in the wild.
How severe is CVE-2026-47423?
High severity, with a CVSS score of 8.2, published 14 July 2026.
Which products and versions are affected?
dompurify (npm) = 3.4.4, SEMVER:introduced=3.4.4,fixed=3.4.5.
Is there a fix for CVE-2026-47423?
Yes. dompurify (npm): upgrade to 3.4.5 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-47423 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-47423?
Check whether you run dompurify (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • dompurify (npm): upgrade to 3.4.5 or later
    npm install dompurify@3.4.5

Technical details

A DOM-based cross-site scripting (XSS) vulnerability exists in DOMPurify version 3.4.4 due to the default inclusion of the 'selectedcontent' element in the allowed tags list. The vulnerability occurs because browsers may re-clone the content of a 'selectedcontent' element from its associated 'option' element after DOMPurify has already completed its sanitization pass. Specifically, if an attacker provides a payload where DOMPurify sanitizes the initial clone but then modifies the source 'option' element, the browser may refresh the 'selectedcontent' subtree with unsanitized markup that DOMPurify does not re-examine. This bypass is reproducible in Chromium and WebKit-based browsers. The issue is resolved in version 3.4.5 by removing 'selectedcontent' from the default allow-list.

Affected products

  • cure53 DOMPurify 3.4.4

Identifiers

  • CVE-2026-47423
  • GHSA-87xg-pxx2-7hvx

Timeline

  • 2026-05-18: patched: Version 3.4.5 released
  • 2026-05-19: advisory: GitHub Security Advisory published
  • 2026-07-14: disclosed: CVE published to NVD

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.