Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSend compact XML with repeated namespace declarations
-
Deliveryxmldom SAX parser clones O(N²) namespace maps per element
-
ExploitNode.js heap exhausted
-
Executionprocess crashes or becomes unresponsive
-
Impactdenial of service achieved
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | No special server configuration is required - the vulnerability is triggered by the default behavior of |
| Impact | The CVSS 4.0 score of 8.7 with vector AV:N/AC:L/AT:N/PR:N/UI:N/VA:H accurately reflects the threat model: any network-reachable endpoint that parses attacker-controlled XML with xmldom is exploitable without credentials or user interaction. No EPSS score is present in the provided data, so relative exploitation probability cannot be quantified numerically. No CISA KEV listing and no explicit POC code are noted, so exploitation is not confirmed to be active - however, the attack primitive is mechanically trivial (craft an XML document with many namespace-declaring elements and POST it). Applications processing untrusted XML - SOAP services, RSS/Atom feed consumers, SVG handlers, XML-based APIs - represent the primary exposure surface. The legacy |
| Exploit ScenarioDerived | An attacker sends a POST request to a SOAP or XML API endpoint with a body containing a compact XML document with hundreds of deeply nested elements each declaring a new namespace prefix. The xmldom SAX parser, allocating a full copy of the ancestor namespace map at each nesting level, consumes O(N²) heap memory and exhausts the Node.js process heap, crashing or hanging the server. The payload can be kept small by reusing short namespace URIs, making the attack efficient to repeat across multiple application instances. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 01, 2026
Quadratic namespace-map allocation in xmldom's SAX parser allows unauthenticated remote attackers to exhaust the Node.js process heap by sending a compact, crafted XML document with repeated namespace prefix declarations. The unmaintained legacy xmldom package (versions 0.1.5-0.6.0) has no available fix, while @xmldom/xmldom is patched in releases 0.8.15 and 0.9.12. No public exploit has been identified at time of analysis, but the CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) indicates the attack is trivially automatable against any application that parses untrusted XML with this library.
RemediationAI
For users of @xmldom/xmldom, upgrade to version 0.8.15 (https://github.com/xmldom/xmldom/releases/tag/0.8.15) or 0.9.12 (https://github.com/xmldom/xmldom/releases/tag/0.9.12) immediately, as confirmed by the GitHub advisory GHSA-965w-775f-mr7g. For users of the legacy xmldom package (0.1.5-0.6.0), no patch exists; migration to @xmldom/xmldom 0.9.12 or later is the primary remediation path. If immediate migration is not feasible, apply compensating controls in order of effectiveness: enforce a hard byte limit on incoming XML bodies at the reverse-proxy or middleware layer (e.g., 1 MB request body cap) to raise the cost of heap exhaustion - note this does not eliminate the vulnerability because namespace declarations are compact, but it meaningfully increases payload size requirements; run the parser inside an isolated worker process or child process so a crash does not terminate the main application (introduces latency and inter-process communication overhead); and apply rate limiting on XML-parsing endpoints to reduce sustained attack throughput. Do not rely on application-level XML schema validation as a compensating control, because heap exhaustion occurs during parsing, before validation runs.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in npm
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The root cause is CWE-770 (Allocation of Resources Without Limits or Throttling), specifically in appendElement within lib/sax.js. For every XML element that declares a new namespace prefix, the SAX parser clones the complete ancestor namespace map (currentNSMap) via _copy, rather than inheriting it through the JavaScript prototype chain. For a document with N namespace-declaring elements, this produces O(N²) cumulative memory allocation on the parse stack. Because XML namespace declarations can be expressed compactly and repeated many times in a small document, a highly compressible payload can trigger peak heap exhaustion before any application-level input validation executes. The fix in @xmldom/xmldom 0.8.15 and 0.9.12 switches to prototype-chain inheritance, reducing complexity to O(N). The same release batch also patched several related quadratic-complexity bugs (attribute deduplication, ReDoS in end-tag trimming, normalize() O(K²)), indicating a broader algorithmic audit. Affected CPEs are cpe:2.3:a:xmldom:xmldom:*:*:*:*:*:*:*:* (legacy, 0.1.5-0.6.0) and cpe:2.3:a:@xmldom:xmldom:*:*:*:*:*:*:*:* (maintained fork, pre-0.8.15/0.9.12).
Know when Xmldom gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
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
Network-reachable via default DOMParser API with no authentication or user interaction; impact is availability-only heap exhaustion with no scope change.
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
xmldom is a pure JavaScript W3C standard-based (XML DOM Level 2 Core) DOMParser and XMLSerializer module. Prior to @xmldom/xmldom versions 0.8.15 and 0.9.12, and in xmldom versions 0.1.5 through 0.6.0, appendElement in lib/sax.js uses _copy to clone the complete currentNSMap for each nested element that declares a new namespace prefix. Keeping every ancestor map live on the parse stack creates quadratic peak namespace-map storage, so a small highly compressible XML document can exhaust the process heap before application validation. This issue is fixed in @xmldom/xmldom versions 0.8.15 and 0.9.12; no fixed version is available for xmldom.
Blast Radius
ecosystem impact- 16 npm packages depend on @xmldom/xmldom (9 direct, 7 indirect)
Ecosystem-wide dependent count for version 0.7.0.
Technical POC Analysis
CWE-770 (Allocation of Resources Without Limits or Throttling).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Applications using the unmaintained legacy xmldom package (versions 0.1.5-0.6.0) are vulnerable to denial of service through malicious XML documents that exhaust Node.js process memory. Any organization with this dependency faces service disruption risk from unauthenticated remote attackers. The fix requires immediate migration to the maintained @xmldom/xmldom fork or removal of the library, as the original package will not receive a security patch.
No vendor-released patch exists for legacy xmldom (unmaintained package). Required mitigation: upgrade all applications to @xmldom/xmldom version 0.8.15 or later, which contains the fix. If immediate upgrade is not feasible, implement interim controls including: (1) restrict XML parsing to trusted internal sources only, (2) enforce strict memory limits and automatic process termination on Node.js services, (3) deploy network-level input validation to reject XML with excessive namespace declarations, and (4) establish aggressive monitoring for memory exhaustion patterns on affected services.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
xmldom is a pure JavaScript W3C standard-based (XML DOM Level 2 Core) `DOMParser` and `XMLSerializer` module. Rated crit
XML injection via EntityReference in xmldom enables attacker-controlled XML markup to escape entity-reference boundaries
A prototype pollution vulnerability exists in the function copy in dom.js in the xmldom (published as @xmldom/xmldom) pa
Two independent quadratic-complexity denial-of-service paths in the xmldom JavaScript XML parser allow remote unauthenti
Processing-instruction target injection in the @xmldom/xmldom JavaScript library allows XML structure breakout through u
XML injection in the xmldom serializer allows a crafted DocumentType.name containing '>' or whitespace to prematurely cl
XML injection and cross-site scripting in the xmldom JavaScript library allows attacker-controlled tag names to be injec
XML injection in the xmldom JavaScript library allows crafted attribute names to break out of attribute context during s
Quadratic attribute-processing complexity in xmldom's DOMParser enables remote unauthenticated denial of service against
XML injection in @xmldom/xmldom versions 0.9.10 and 0.9.11 bypasses the requireWellFormed serializer's DocumentType vali
XML injection in @xmldom/xmldom 0.9.11 allows attackers who supply crafted element or attribute names containing ECMAScr
XML injection in @xmldom/xmldom 0.9.0-0.9.11 allows an attacker to embed malicious markup into serialized XML output by
Same technique Denial Of Service
View allVendor StatusVendor
SUSE
Severity: Important| Product | Status |
|---|---|
| SUSE Linux Enterprise Desktop 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Module for Python 3 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Module for Python 3 15 SP6 | Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP4 | Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP5 | Affected |
| SUSE Linux Enterprise Server 15 SP4 | Affected |
| SUSE Linux Enterprise Server 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP5 | Affected |
| SUSE Linux Enterprise Server 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP6 | Affected |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Not-Affected |
| SUSE CaaS Platform 4.0 | Not-Affected |
| SUSE Enterprise Storage 6 | Not-Affected |
| SUSE Enterprise Storage 7 | Not-Affected |
| SUSE Enterprise Storage 7.1 | Affected |
| SUSE Linux Enterprise Desktop 15 SP6 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP1 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP1-ESPOS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP1-LTSS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2-ESPOS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2-LTSS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS | Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP1 | Not-Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP2 | Not-Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP3 | Affected |
| SUSE Linux Enterprise Real Time 15 SP2 | Not-Affected |
| SUSE Linux Enterprise Real Time 15 SP3 | Affected |
| SUSE Linux Enterprise Real Time 15 SP4 | Affected |
| SUSE Linux Enterprise Server 15 SP1 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP1-BCL | Not-Affected |
| SUSE Linux Enterprise Server 15 SP1-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP2 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP2-BCL | Not-Affected |
| SUSE Linux Enterprise Server 15 SP2-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP3 | Affected |
| SUSE Linux Enterprise Server 15 SP3-BCL | Affected |
| SUSE Linux Enterprise Server 15 SP3-LTSS | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP1 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP2 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP3 | Affected |
| SUSE Manager Proxy 4.0 | Not-Affected |
| SUSE Manager Proxy 4.1 | Not-Affected |
| SUSE Manager Proxy 4.2 | Affected |
| SUSE Manager Proxy 4.3 | Affected |
| SUSE Manager Proxy LTS 4.3 | Affected |
| SUSE Manager Retail Branch Server 4.0 | Not-Affected |
| SUSE Manager Retail Branch Server 4.1 | Not-Affected |
| SUSE Manager Retail Branch Server 4.2 | Affected |
| SUSE Manager Retail Branch Server 4.3 | Affected |
| SUSE Manager Retail Branch Server LTS 4.3 | Affected |
| SUSE Manager Server 4.0 | Not-Affected |
| SUSE Manager Server 4.1 | Not-Affected |
| SUSE Manager Server 4.2 | Affected |
| SUSE Manager Server 4.3 | Affected |
| SUSE Manager Server LTS 4.3 | Affected |
| openSUSE Leap 15.3 | Affected |
| openSUSE Leap 15.4 | Affected |
| openSUSE Leap 15.5 | Affected |
| openSUSE Leap 15.6 | Not-Affected |
EUVD-2026-69236
GHSA-965w-775f-mr7g
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB