{"id":"CVE-2022-39353","state":"PUBLISHED","title":"xmldom allows multiple root nodes in a DOM","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`.","publishedAt":"2022-11-02T00:00:00.000Z","updatedAt":"2025-04-22T17:16:38.092Z","severity":{"score":9.4,"label":"Critical","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:H","source":"GitHub_M"},"assigner":"GitHub_M","products":["xmldom xmldom"],"affected":[{"vendor":"xmldom","product":"xmldom","versions":[{"version":"<= 0.6.0","status":"affected"},{"version":"< 0.7.7","status":"affected"},{"version":">= 0.8.0, < 0.8.4","status":"affected"},{"version":">= 0.9.0-beta.1, < 0.9.0-beta.4","status":"affected"}]}],"references":["https://github.com/xmldom/xmldom/security/advisories/GHSA-crh6-fp67-6883","https://github.com/jindw/xmldom/issues/150","https://lists.debian.org/debian-lts-announce/2023/01/msg00000.html"],"weaknesses":["CWE-20","CWE-1288"],"ingestedAt":"2026-10-29T19:50:29.496Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2022/39xxx/CVE-2022-39353.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.1","cveMetadata":{"cveId":"CVE-2022-39353","state":"PUBLISHED","datePublished":"2022-11-02T00:00:00.000Z","dateUpdated":"2025-04-22T17:16:38.092Z","assignerShortName":"GitHub_M","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateReserved":"2022-09-02T00:00:00.000Z"},"containers":{"cna":{"title":"xmldom allows multiple root nodes in a DOM","descriptions":[{"lang":"en","value":"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":[{"vendor":"xmldom","product":"xmldom","versions":[{"version":"<= 0.6.0","status":"affected"},{"version":"< 0.7.7","status":"affected"},{"version":">= 0.8.0, < 0.8.4","status":"affected"},{"version":">= 0.9.0-beta.1, < 0.9.0-beta.4","status":"affected"}]}],"references":[{"url":"https://github.com/xmldom/xmldom/security/advisories/GHSA-crh6-fp67-6883"},{"url":"https://github.com/jindw/xmldom/issues/150"},{"url":"https://lists.debian.org/debian-lts-announce/2023/01/msg00000.html","name":"[debian-lts-announce] 20230101 [SECURITY] [DLA 3260-1] node-xmldom security update","tags":["mailing-list"]}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:H","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"LOW","integrityImpact":"HIGH","availabilityImpact":"HIGH","baseScore":9.4,"baseSeverity":"CRITICAL"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-20","type":"CWE","lang":"en","description":"CWE-20: Improper Input Validation"}]},{"descriptions":[{"cweId":"CWE-1288","type":"CWE","lang":"en","description":"CWE-1288: Improper Validation of Consistency within Input"}]}],"providerMetadata":{"shortName":"GitHub_M","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateUpdated":"2023-01-01T00:00:00.000Z"},"source":{"advisory":"GHSA-crh6-fp67-6883","discovery":"UNKNOWN"}},"adp":[{"title":"CVE Program Container","references":[{"url":"https://github.com/xmldom/xmldom/security/advisories/GHSA-crh6-fp67-6883","tags":["x_transferred"]},{"url":"https://github.com/jindw/xmldom/issues/150","tags":["x_transferred"]},{"url":"https://lists.debian.org/debian-lts-announce/2023/01/msg00000.html","name":"[debian-lts-announce] 20230101 [SECURITY] [DLA 3260-1] node-xmldom security update","tags":["mailing-list","x_transferred"]}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2024-08-03T12:00:44.144Z"}},{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2025-04-22T15:39:20.618073Z","id":"CVE-2022-39353","options":[{"Exploitation":"poc"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2025-04-22T17:16:38.092Z"}}]}}}