{
  "cveId": "CVE-2026-65902",
  "url": "https://patchblox.com/security/cve/CVE-2026-65902",
  "summary": "CVE-2026-65902 is fixed in node-dompurify on 1 platform by DEBIAN-CVE-2026-65902 (version 3.4.12\u002Bdfsg-1), released July 24, 2026. It is not reported as exploited. Patch Radar priority: Routine.",
  "title": "node-dompurify: DOMPurify before 3.4.7 passes direct references to the module-level DEFAULT_ALLOWED_TAGS and DEFAULT_ALLOWED_ATTR set...",
  "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.",
  "published": "2026-07-23T14:18:05Z",
  "severity": "",
  "epss": 0.00355,
  "epssPercentile": 0.29435,
  "priority": "Routine",
  "priorityTier": 4,
  "exploited": false,
  "vendorExploited": false,
  "disclosed": false,
  "fixes": [
    {
      "platform": "linux",
      "product": "node-dompurify",
      "release": "Debian 14",
      "fixedVersion": "3.4.12\u002Bdfsg-1",
      "fix": "DEBIAN-CVE-2026-65902",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2026-65902",
      "released": "2026-07-24T13:34:41Z"
    }
  ],
  "noFixYet": [],
  "dataAsOf": "2026-11-08T06:59:42Z",
  "attribution": {
    "text": "Data: Patchblox Patch Radar",
    "url": "https://patchblox.com/security/patch-radar",
    "terms": "https://patchblox.com/security/patch-radar/use-the-data"
  }
}