CVE-2026-83606
Received Received - Intake

Denial of Service in xmldom via Quadratic Backtracking

Vulnerability report for CVE-2026-83606, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-09-01

Last updated on: 2026-09-01

Assigner: GitHub, Inc.

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-09-01
Last Modified
2026-09-01
Generated
2026-09-01
AI Q&A
2026-09-01
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 2 associated CPEs
Vendor Product Version / Range
xmldom xmldom From 0.9.0-beta.9 (inc) to 0.9.11 (exc)
xmldom xmldom 0.9.11

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-1333 The product uses a regular expression with an inefficient, possibly exponential worst-case computational complexity that consumes excessive CPU cycles.
CWE-400 The product does not properly control the allocation and maintenance of a limited resource.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability in xmldom versions 0.9.0-beta.9 to 0.9.11 involves a flaw in the processing-instruction parser that causes quadratic backtracking when parsing XML with a long whitespace tail and missing closing ?>. This leads to excessive CPU usage and can stall the Node.js event loop with small unauthenticated XML inputs.

Detection Guidance

To detect this vulnerability, check if your system uses xmldom versions between 0.9.0-beta.9 and 0.9.11. Run: npm list xmldom or npm list @xmldom/xmldom to verify the installed version.

Impact Analysis

The vulnerability allows an attacker to send a specially crafted XML input that consumes excessive CPU resources, potentially causing denial-of-service by freezing or slowing down the affected application or server.

Compliance Impact

This vulnerability primarily impacts system availability due to ReDoS, which could cause service disruption. GDPR and HIPAA require maintaining data processing integrity and availability, so prolonged downtime may violate these standards. However, the CVE does not directly reference compliance requirements.

Mitigation Strategies

Immediately update xmldom to version 0.9.11 or later using: npm update xmldom or npm update @xmldom/xmldom. If using a vulnerable version, avoid processing untrusted XML inputs until patched.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-83606. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart