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.
Published: 2026-07-14
Score: 8.2 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

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.

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

Remediation

No vendor fix or workaround currently provided.

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

Thu, 16 Jul 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Wed, 15 Jul 2026 16:30:00 +0000

Type Values Removed Values Added
First Time appeared Cure53
Cure53 dompurify
Vendors & Products Cure53
Cure53 dompurify

Wed, 15 Jul 2026 12:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

threat_severity

Important


Tue, 14 Jul 2026 20:00:00 +0000

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'}


Subscriptions

Cure53 Dompurify
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-16T14:47:21.564Z

Reserved: 2026-05-19T19:37:43.526Z

Link: CVE-2026-47423

cve-icon Vulnrichment

Updated: 2026-07-16T14:47:14.345Z

cve-icon NVD

No data.

cve-icon Redhat

Severity : Important

Publid Date: 2026-07-14T19:56:02Z

Links: CVE-2026-47423 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-07-31T05:15:03Z

Weaknesses
  • CWE-79

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