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 https://nvd.nist.gov/vuln/detail/CVE-2022-39299 and 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
).
One of the following approaches might help, depending on your use case:
- Instead of searching for elements in the whole DOM, only search in the documentElement
.
- Reject a document with a document that has more then 1 childNode
.
If you have any questions or comments about this advisory: * Email us at security@xmldom.org
{ "nvd_published_at": "2022-11-02T17:15:00Z", "github_reviewed_at": "2022-11-01T17:29:11Z", "severity": "CRITICAL", "github_reviewed": true, "cwe_ids": [ "CWE-1288", "CWE-20" ] }