CVE-2026-47423

DOMPurify XSS via `selectedcontent` re-clone

Published Jul 14, 2026 CVSS 3.1 · 8.2 High EPSS < 1% KEV · Not listed
Description
DOMPurify is a DOM-only cross-site scripting sanitizer for HTML, MathML, and SVG. In 3.4.4, DOMPurify allowed selectedcontent by default, allowing browsers to re-clone an XSS payload after sanitization so that unsanitized markup inside <selectedcontent> is returned. This issue is fixed in version 3.4.5.

Analysis

AI-generated

Technical impact

DOMPurify is a DOM‑only cross‑site scripting sanitizer for HTML, MathML, and SVG. In version 3.4.4, DOMPurify allowed selectedcontent by default, allowing browsers to re‑clone an XSS payload after sanitization so that unsanitized markup inside <selectedcontent> is returned. Because the sanitizer does not strip this element, attackers can embed script code that will be executed when the content renders. This flaw is identified as CWE‑79 and may allow arbitrary script injection, compromising confidentiality, integrity, and availability. The issue is fixed in DOMPurify 3.4.5.

Affected Systems

Applications that include the DOMPurify library at version 3.4.4 or older, as distributed by cure53, are affected. The bug was addressed in the 3.4.5 release; any deployment still using 3.4.4 or earlier remains vulnerable.

Risk and Exploitability

The vulnerability has a CVSS score of 8.2, classifying EPSS score is below 1 %, indicating that real‑world exploitation is currently uncommon, and the bug has not yet been listed in the CISA KEV catalog. The likely attack vector involves a web application that uses DOMPurify to sanitize user input and then renders the sanitized content in a browser that supports the <selectedcontent> element. An attacker can craft payloads containing <selectedcontent> tags, cause the browser to re‑clone the payload, and execute the injected script within the victim’s context.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade DOMPurify to version 3.4.5 or later to eliminate the <selectedcontent> re‑cloning flaw.
  • If upgrading immediately is not possible, remove or escape <selectedcontent> elements from user input before passing the content to DOMPurify.
  • Deploy a restrictive Content Security Policy that blocks inline scripts and limits script sources to safe scripts.

Generated by OpenCVE AI on July 31, 2026 at 05:10 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-87xg-pxx2-7hvx DOMPurify XSS via selectedcontent re-clone
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Cure53
Cure53 dompurify
Vendors & Products Cure53
Cure53 dompurify
Type Values Removed Values Added
Description DOMPurify is a DOM-only cross-site scripting sanitizer for HTML, MathML, and SVG. In 3.4.4, DOMPurify allowed selectedcontent by default, allowing browsers to re-clone an XSS payload after sanitization so that unsanitized markup inside <selectedcontent> is returned. This issue is fixed in version 3.4.5.
Title DOMPurify XSS via `selectedcontent` re-clone
Weaknesses CWE-79
References
Metrics cvssV3_1

{'score': 8.2, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N'}

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Jul 16, 2026, 2:47 PM
Reserved
May 19, 2026, 7:37 PM
Status
Analyzed
Published
Jul 14, 2026, 8:17 PM
Modified
Oct 24, 2026, 9:10 PM
Severity
Important
Public date
Jul 14, 2026, 7:56 PM