Vulnerability · Published Sep 1, 2026 · Assigned by GitHub_M

CVE-2026-83606xmldom PI grammar regex ReDoS: quadratic backtracking on unterminated processing instructions

High 8.7

In plain English

A high-severity uncontrolled resource consumption in xmldom from xmldom. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.5% (higher than 45% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 4.0)8.7High
Exploit odds (30 days)0.5%top 55.4% of all CVEs
Exploited in the wildNo reportsCISA SSVC: poc
Attack toolingNoneno public tooling known

Official description

xmldom is a pure JavaScript W3C standard-based (XML DOM Level 2 Core) DOMParser and XMLSerializer module. From 0.9.0-beta.9 until 0.9.11, the processing-instruction production in lib/grammar.js lets the greedy S+ separator and lazy Char*? data group repeatedly repartition a long whitespace tail when the required closing ?> is absent. Both parsePI and parseProcessingInstruction apply the expression to the entire remaining source, causing quadratic backtracking during DOMParser.parseFromString() under default options and allowing a small unauthenticated XML input to stall the Node.js event loop. This issue is fixed in @xmldom/xmldom version 0.9.11.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:12node-xmldomno fix listedDEBIAN-CVE-2026-83606
Debian:13node-xmldomno fix listedDEBIAN-CVE-2026-83606
Debian:14node-xmldom0.9.11-1DEBIAN-CVE-2026-83606
Ubuntu:22.04:LTSnode-xmldomno fix listedUBUNTU-CVE-2026-83606
Ubuntu:24.04:LTSnode-xmldomno fix listedUBUNTU-CVE-2026-83606
Ubuntu:26.04:LTSnode-xmldomno fix listedUBUNTU-CVE-2026-83606
npm@xmldom/xmldom0.9.11GHSA-g53g-w8rj-fmg7

Affected products (as reported)

VendorProductVersions
xmldom xmldom >= 0.9.0-beta.9, < 0.9.11
@xmldom xmldom >= 0.9.0-beta.9, < 0.9.11

Weakness: CWE-400, CWE-1333 · Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

References