Skip to content
OpenAdvisories
Critical · 9.4 CVE-2022-39353 EUVD-2022-7316GHSA-crh6-fp67-6883

xmldom allows multiple root nodes in a DOM

Published Nov 2, 2022 · Updated Apr 22, 2025 · Assigned by GitHub_M

Description

xmldom is a pure JavaScript W3C standard-based (XML DOM Level 2 Core) `DOMParser` and `XMLSerializer` module. xmldom parses XML that is not well-formed because it contains multiple top level elements, and adds all root nodes to the `childNodes` collection of the `Document`, without reporting any error or throwing. This breaks the assumption that there is only a single root node in the tree, which led to issuance of CVE-2022-39299 as it is a potential issue for dependents. Update to @xmldom/xmldom@~0.7.7, @xmldom/xmldom@~0.8.4 (dist-tag latest) or @xmldom/xmldom@>=0.9.0-beta.4 (dist-tag next). As a workaround, please one of the following approaches depending on your use case: instead of searching for elements in the whole DOM, only search in the `documentElement`or reject a document with a document that has more then 1 `childNode`.

Affected products

VendorProductAffectedFixed
xmldom xmldom <= 0.6.0, < 0.7.7, >= 0.8.0, < 0.8.4, >= 0.9.0-beta.1, < 0.9.0-beta.4 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 node-xmldom 0.8.6-1 —
Debian 13 node-xmldom 0.8.6-1 —
Debian 12 node-xmldom 0.8.6-1 —
Debian 10 node-xmldom 0.1.27+ds-1+deb10u2 DLA-3260-1
ReleasePackageFixed inAdvisory
Ubuntu 25.10 node-xmldom No fix yet —
Ubuntu 22.04 LTS node-xmldom 0.7.5-1ubuntu0.22.04.1 USN-6102-1
Ubuntu 20.04 LTS node-xmldom 0.1.27+ds-1+deb10u2build0.20.04.1 USN-6102-1

Azure Linux

ReleasePackageFixed inAdvisory
Azure Linux 3 python-tensorboard 2.16.2-1 —

Affected packages

EcosystemPackageAffectedFixedRecord
npm @xmldom/xmldom < 0.7.7 0.7.7 GHSA-crh6-fp67-6883
npm @xmldom/xmldom >= 0.8.0, < 0.8.4 0.8.4 GHSA-crh6-fp67-6883
npm @xmldom/xmldom >= 0.9.0-beta.1, < 0.9.0-beta.4 0.9.0-beta.4 GHSA-crh6-fp67-6883
npm xmldom <= 0.6.0 — GHSA-crh6-fp67-6883

Advisories 2

References