<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>Cpe:2.3:a:xmldom_project:xmldom:*:*:*:*:*:node.js:*:* - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/cpes/cpe2.3axmldom_projectxmldomnode.js/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Tue, 08 Sep 2026 21:53:02 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/cpes/cpe2.3axmldom_projectxmldomnode.js/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>Unauthenticated Denial of Service in xmldom via Quadratic Complexity</title><link>https://feed.craftedsignal.io/briefs/2026-09-xmldom-dos/</link><pubDate>Tue, 08 Sep 2026 21:53:02 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-09-xmldom-dos/</guid><description>The xmldom XML parser contains multiple O(n²) complexity flaws in its error-recovery path and DOM normalization logic, allowing an unauthenticated attacker to stall the Node.js event loop using crafted XML payloads.</description><content:encoded><![CDATA[<p>The <code>xmldom</code> library, commonly used for XML parsing in Node.js environments, is vulnerable to a denial of service (DoS) attack due to two distinct quadratic-time (O(n²)) complexity vulnerabilities. An attacker can supply a small, highly compressible XML document that exploits the parser's error-recovery path, leading to prolonged CPU exhaustion and event loop starvation.</p>
<p>The first vulnerability occurs during the <code>parseElementStartPart</code> process, where the parser's error-recovery mechanism performs redundant character scanning when encountering specific malformed XML inputs. The second vulnerability exists within the <code>DOM.normalize()</code> method, which inefficiently merges adjacent text nodes created during the parsing recovery process. These issues are reachable through the default <code>DOMParser.parseFromString</code> method, and the <code>normalize()</code> flaw is also independently accessible via the public DOM API if an application builds a tree from untrusted input. These vulnerabilities affect the entire history of the project, including current 0.8.x and 0.9.x branches.</p>
<h2 id="impact">Impact</h2>
<p>Successful exploitation results in a persistent hang of the single-threaded Node.js event loop, preventing the application from processing any concurrent requests. Because the vulnerabilities are triggered by the default XML parser configuration and require no authentication, they represent a high risk to any service that accepts XML input from external sources. The attack is highly efficient, as payloads as small as 32 KB can cause multi-second stalls, which scale quadratically as document size increases.</p>
<h2 id="recommendation">Recommendation</h2>
<p>Prioritized actions for development and security teams:</p>
<ul>
<li>Update all dependencies using <code>xmldom</code> or <code>@xmldom/xmldom</code> to the patched versions immediately to remediate CVE-2026-83614.</li>
<li>Implement strict input size limits for any endpoint accepting XML payloads to mitigate the impact of quadratic complexity attacks.</li>
<li>Audit custom code that programmatically builds DOM trees using untrusted input, ensuring that <code>normalize()</code> is not called on unvalidated or deeply nested structures.</li>
<li>Configure <code>DOMParser</code> with custom error handlers to identify and reject malformed input early, rather than relying on the default error-recovery path.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>denial-of-service</category><category>vulnerability</category><category>web-application</category></item><item><title>Denial of Service via Quadratic Memory Consumption in xmldom</title><link>https://feed.craftedsignal.io/briefs/2026-09-xmldom-memory-exhaustion/</link><pubDate>Tue, 08 Sep 2026 21:52:54 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-09-xmldom-memory-exhaustion/</guid><description>The xmldom parser suffers from a quadratic memory complexity flaw during namespace processing, allowing unauthenticated attackers to trigger process OOM crashes using small, crafted XML payloads.</description><content:encoded><![CDATA[<p>The xmldom XML parser contains a vulnerability (CVE-2026-83615) stemming from inefficient namespace map handling during the parsing process. When the parser encounters an element that declares a namespace prefix, it performs a full copy of the current in-scope namespace map into a new object and retains this copy on the element while it remains open on the parse stack.</p>
<p>For deeply nested XML documents where each element declares a unique namespace, this mechanism leads to O(N²) memory consumption at the peak of the parse operation. Because this occurs during the initial parsing phase, it bypasses application-level security controls, such as schema validation or signature verification. An attacker can craft a small, highly compressible XML payload (less than 500 KB) that forces the parser to allocate gigabytes of heap memory, resulting in an unauthenticated denial-of-service (DoS) via OOM (Out-Of-Memory) process termination. This vulnerability affects multiple versions of both the legacy xmldom package and the current @xmldom/xmldom package.</p>
<h2 id="impact">Impact</h2>
<p>Successful exploitation results in a full loss of service for any application utilizing vulnerable versions of xmldom to process attacker-influenced XML. Because the payload is small and highly compressible, it is effective against services that accept compressed XML over transports such as HTTP redirects or POST requests. The flaw is particularly critical for web services and middleware that parse untrusted XML before reaching authorization or authentication logic.</p>
<h2 id="recommendation">Recommendation</h2>
<p>Prioritize patching all instances of xmldom and @xmldom/xmldom in your environment. Upgrade to versions that implement prototype-based namespace inheritance instead of full map cloning. Due to the nature of this memory exhaustion, traditional pattern-based WAF signatures may struggle to identify the payload; monitor process memory usage (RSS) on application servers for sudden spikes during XML parsing.</p>
<ul>
<li>Upgrade <code>@xmldom/xmldom</code> to a version newer than 0.8.14 or 0.9.11.</li>
<li>Upgrade <code>xmldom</code> to a version newer than 0.6.0.</li>
<li>Monitor application server logs for OOM crash events or unexpected restarts coinciding with high-frequency XML parsing.</li>
<li>If immediate patching is not possible, implement input length and nesting depth validation before passing data to the DOMParser.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>denial-of-service</category><category>vulnerability</category><category>xml</category></item></channel></rss>