CVE-2026-65902

MEDIUM
MEDIUM Priority: 0.02 BB Relevance: 61/100
Published: 2026-07-23 Modified: 2026-10-29 First seen: 2026-10-29 Status: active

Attack Surface

Network Low Complexity No Auth

CVSS Vector Breakdown

AV: Network
AC: Low
PR: None
UI: Passive
AT: None
VC: Low
VI: Low
VA: None

Description

DOMPurify before 3.4.7 passes direct references to the module-level DEFAULT_ALLOWED_TAGS and DEFAULT_ALLOWED_ATTR sets to the uponSanitizeElement and uponSanitizeAttribute hooks via data.allowedTags / data.allowedAttributes when sanitize is called without an explicit cfg.ALLOWED_TAGS / cfg.ALLOWED_ATTR array. A hook that mutates these fields permanently widens the default allow-lists for the lifetime of the DOMPurify instance, so all subsequent default-config sanitize calls inherit the widened defaults and attacker payloads using the poisoned tag/attribute name survive sanitization. removeAllHooks(), clearConfig(), and passing a fresh cfg do not recover the state; only constructing a new DOMPurify instance does.

Weakness Classification (1)

Affected Software (2)

VendorProductVersion
cure53 DOMPurify 0 < 3.4.7
cure53 dompurify < 3.4.7

Bug Bounty Relevance

61 / 100
✓ Network accessible
✓ No authentication
✓ Low complexity

CVSS Score

5.3 / 10.0 v4.0
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N

EPSS — Exploitation Probability

0.36%
Raw Score 0.003550
Percentile 29.2%
Date 2026-10-29

EPSS Trend

2026-10-29
0.00355
2026-10-28
0.00355

Intelligence Sources

mitre ref →
nvd ref →