Skip to content
Fencer Vulns
medium 6.1

CVE-2026-109345 json

DOMPurify before 3.4.16 XSS via IN_PLACE Returned Rawtext Root

published 2026-10-05 34 d ago modified 2026-10-16 23 d ago also GHSA-6688-9rhm-gjv2 , EUVD-2026-97647

cvss
6.1
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.3%
EPSS 0.3% chance of exploitation in 30 days, percentile 16%
public exploits
0
none known

Summary

DOMPurify before 3.4.16 contains a cross-site scripting vulnerability that allows attackers to bypass sanitization because IN_PLACE mode returns a force-removed style element whose text content still carries markup. Attackers can supply a style element containing a closing style tag and an img onerror payload, which executes script when the application serializes and re-parses the returned node.

Patch / fix

  • npm dompurify 3.4.16
  • cure53 DOMPurify 3.4.16
  • node-dompurify Debian 14 3.4.16+dfsg-1

debian advisories DEBIAN-CVE-2026-109345

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2026-109345 updated cvss 6.1

dompurify: DOMPurify: Cross-site scripting via unsanitized raw text in in-place mode

  • Red Hat Hardened Images ruff 0.15.11-1.1.hum1, grafana13.1 13.1.7-0.1.hum1, grafana13.2 13.2.3-0.1.hum1, grafana12.4 12.4.12-0.4.hum1
    not affected: vulnerable code not present

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

CISA SSVC

Exploitation
Proof of concept is public
Automatable
no
Technical impact
partial
Assessed
26 d ago

Exploit prediction

0.25% chance of exploitation in the next 30 days, higher than 16% of all scored CVEs (FIRST EPSS, 2026-11-08).

Exploits and checks

  • github.com https://github.com/cure53/DOMPurify/security/advisories/GHSA-6688-9rhm-gjv2 referenced PoC, tagged "exploit" by a source, unverified

CVSS scores

assigned by version score vector
CNA 4.0 5.1 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
CNA 3.1 6.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
CNA 4.0 5.1 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

Affected packages

ecosystem package affected fixed in
npm dompurify
<3.4.16
3.4.16

Affected products

  • cure53 DOMPurify

Classification

Weakness
  • CWE-79 Improper Neutralization of Input During Web Page Generation

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.