Quick answers
- Is CVE-2026-41673 exploited in the wild?
- No. Junglewise Threat Intelligence has no report of CVE-2026-41673 being exploited in the wild.
- How severe is CVE-2026-41673?
- High severity, with a CVSS score of 7.5, published 7 May 2026.
- Which products and versions are affected?
- xmldom @xmldom/xmldom < 0.8.13, >= 0.9.0 and < 0.9.10; xmldom xmldom all versions.
- Is there a fix for CVE-2026-41673?
- A patch was published on 2026-04-18: walkDOM refactor introduced (commit 2d6d691) Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
- How is CVE-2026-41673 attacked?
- It is attacked over the network, in a software library.
- Am I affected by CVE-2026-41673?
- Check whether anything you run is named in the advisory. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.
Technical details
The vulnerability affects seven DOM tree traversal operations in lib/dom.js: Node.prototype.normalize(), XMLSerializer.serializeToString(), Element.getElementsByTagName/TagNameNS/ClassName, getElementById(), Node.cloneNode(true), Document.importNode(node, true), node.textContent getter, and Node.isEqualNode(). All share the root cause of pure-JavaScript depth-first recursive traversal without stack depth guards. When processing a deeply nested DOM tree, each recursion level consumes one JavaScript call stack frame; serializeToString crashes at ~5,000 nesting levels (due to namespace.slice() allocations per frame), and the others crash at ~10,000 levels on Node.js 18. The vulnerability requires no authentication or special options—a valid, deeply nested XML document parsed successfully triggers the condition on any subsequent DOM operation. The fix converts all seven traversals from recursive to iterative implementations using a new walkDOM utility that consumes heap memory (an explicit stack array) instead of the call stack.
Affected products
- xmldom @xmldom/xmldom < 0.8.13, >= 0.9.0 and < 0.9.10
- xmldom xmldom all versions
Identifiers
- CVE-2026-41673
- GHSA-2v35-w6hq-6mfw
Timeline
- 2026-04-06: disclosed: normalize() vector publicly disclosed via xmldom/xmldom#987
- 2026-04-22: disclosed: Full advisory GHSA-2v35-w6hq-6mfw published
- 2026-04-18: patched: walkDOM refactor introduced (commit 2d6d691)
References
- https://github.com/xmldom/xmldom/security/advisories/GHSA-2v35-w6hq-6mfw
- https://github.com/xmldom/xmldom/commit/17678a2a73ecbd1a2da90f3d47dc23da9cef81aa
- https://github.com/xmldom/xmldom/commit/291257493cb0eb6980eda83b162a9c4e6d7d2597
- https://github.com/xmldom/xmldom/commit/2d6d6916ed8a4c223db1f6d7560ab4544c465b0f
- https://github.com/xmldom/xmldom/commit/430357c7b6333108856e917bf2367afe5ceb6f8a
- https://github.com/xmldom/xmldom/commit/4845ef109221df0890825de2822fbe77afba3afe