Description
DOMPurify before 3.3.2 contains a URI validation bypass vulnerability when ADD_ATTR is provided as a predicate function via EXTRA_ELEMENT_HANDLING.attributeCheck. Attackers can supply a predicate that accepts specific attribute and tag combinations to bypass URI-safe validation, allowing unsafe protocols like javascript: to survive sanitization and execute as DOM-based XSS when the link is activated.
Published: 2026-07-23
Score: 5.1 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

DOMPurify before 3.3.2 contains a URI validation bypass flaw that is triggered when an attacker supplies a custom predicate function labeled "ADD_ATTR" via the EXTRA_ELEMENT_HANDLING.attributeCheck hook. The predicate can selectively accept particular attribute and tag combinations, which allows dangerous URI schemes such as javascript: to bypass sanitization. When the user activates the element containing the unsanitized URI, the embedded code executes in the browser, resulting in a client‑side cross‑site scripting (XSS) incident. The weakness is a classic reflected injection, identified as CWE‑79.

Affected Systems

All releases of the DOMPurify library distributed by cure53 prior to version 3.3.2 are affected. No additional revision or update information is provided beyond the product name; users should verify the current DOMPurify version in use.

Risk and Exploitability

The CVSS score of 5.1 indicates moderate risk. The EPSS score is less than 1%, indicating that automated exploitation is currently low. The vulnerability is not listed in the CISA KEV catalog. The description specifies that unsafe protocols survive sanitization and execute when the link is activated. It therefore requires user interaction to trigger the client‑side XSS; an automatic exploit without user action is not possible. Because the flaw operates solely in the client browser and requires that the user activates the malicious link or element, the threat surface is limited to interactions that trigger the element, such as clicking a hyperlink or activating a form input.

Generated by OpenCVE AI on August 5, 2026 at 01:02 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade DOMPurify to version 3.3.2 or later; this release closes the URI validation bypass.
  • If an upgrade is not immediately possible, remove or disable any custom predicate passed through ADD_ATTR or the EXTRA_ELEMENT_HANDLING.attributeCheck hook, which is the entry point for the vulnerability.
  • Apply an additional client‑side filter or enforce a strict whitelist against unsafe URI schemes such as javascript:, data:, and others before rendering the content.

Generated by OpenCVE AI on August 5, 2026 at 01:02 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-cjmm-f4jc-qw8r DOMPurify ADD_ATTR predicate skips URI validation
History

Thu, 23 Jul 2026 21:45:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Thu, 23 Jul 2026 13:30:00 +0000

Type Values Removed Values Added
Description DOMPurify before 3.3.2 contains a URI validation bypass vulnerability when ADD_ATTR is provided as a predicate function via EXTRA_ELEMENT_HANDLING.attributeCheck. Attackers can supply a predicate that accepts specific attribute and tag combinations to bypass URI-safe validation, allowing unsafe protocols like javascript: to survive sanitization and execute as DOM-based XSS when the link is activated.
Title DOMPurify before 3.3.2 URI Validation Bypass via ADD_ATTR
First Time appeared Cure53
Cure53 dompurify
Weaknesses CWE-79
CPEs cpe:2.3:a:cure53:dompurify:*:*:*:*:*:*:*:*
Vendors & Products Cure53
Cure53 dompurify
References
Metrics cvssV3_1

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

cvssV4_0

{'score': 5.1, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N'}


Subscriptions

Cure53 Dompurify
cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-07-23T15:46:09.055Z

Reserved: 2026-07-23T12:51:09.595Z

Link: CVE-2026-65912

cve-icon Vulnrichment

Updated: 2026-07-23T15:46:03.809Z

cve-icon NVD

Status : Analyzed

Published: 2026-07-23T14:18:06.417

Modified: 2026-07-28T15:50:27.430

Link: CVE-2026-65912

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-05T01:15:03Z

Weaknesses
  • CWE-79

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