ghsa-crh6-fp67-6883
Vulnerability from github
Impact
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.
Patches
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
).
Workarounds
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
.
References
- https://nvd.nist.gov/vuln/detail/CVE-2022-39299
- https://github.com/jindw/xmldom/issues/150
For more information
If you have any questions or comments about this advisory: * Email us at security@xmldom.org
{ "affected": [ { "package": { "ecosystem": "npm", "name": "xmldom" }, "ranges": [ { "events": [ { "introduced": "0" }, { "last_affected": "0.6.0" } ], "type": "ECOSYSTEM" } ] }, { "package": { "ecosystem": "npm", "name": "@xmldom/xmldom" }, "ranges": [ { "events": [ { "introduced": "0" }, { "fixed": "0.7.7" } ], "type": "ECOSYSTEM" } ] }, { "package": { "ecosystem": "npm", "name": "@xmldom/xmldom" }, "ranges": [ { "events": [ { "introduced": "0.8.0" }, { "fixed": "0.8.4" } ], "type": "ECOSYSTEM" } ] }, { "package": { "ecosystem": "npm", "name": "@xmldom/xmldom" }, "ranges": [ { "events": [ { "introduced": "0.9.0-beta.1" }, { "fixed": "0.9.0-beta.4" } ], "type": "ECOSYSTEM" } ] } ], "aliases": [ "CVE-2022-39353" ], "database_specific": { "cwe_ids": [ "CWE-1288", "CWE-20" ], "github_reviewed": true, "github_reviewed_at": "2022-11-01T17:29:11Z", "nvd_published_at": "2022-11-02T17:15:00Z", "severity": "CRITICAL" }, "details": "### Impact\nxmldom 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.\nThis 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.\n\n### Patches\nUpdate to `@xmldom/xmldom@~0.7.7`, `@xmldom/xmldom@~0.8.4` (dist-tag `latest`) or `@xmldom/xmldom@\u003e=0.9.0-beta.4` (dist-tag `next`).\n\n### Workarounds\nOne of the following approaches might help, depending on your use case:\n- Instead of searching for elements in the whole DOM, only search in the `documentElement`.\n- Reject a document with a document that has more then 1 `childNode`.\n\n### References\n- https://nvd.nist.gov/vuln/detail/CVE-2022-39299\n- https://github.com/jindw/xmldom/issues/150\n\n### For more information\nIf you have any questions or comments about this advisory:\n* Email us at security@xmldom.org\n", "id": "GHSA-crh6-fp67-6883", "modified": "2022-11-04T20:44:46Z", "published": "2022-11-01T17:29:11Z", "references": [ { "type": "WEB", "url": "https://github.com/xmldom/xmldom/security/advisories/GHSA-crh6-fp67-6883" }, { "type": "ADVISORY", "url": "https://nvd.nist.gov/vuln/detail/CVE-2022-39353" }, { "type": "WEB", "url": "https://github.com/jindw/xmldom/issues/150" }, { "type": "WEB", "url": "https://github.com/xmldom/xmldom/commit/52a708360c35aa160fcca8621720d71fd0f95f1a" }, { "type": "WEB", "url": "https://github.com/xmldom/xmldom/commit/7ff7c10ab2961703ac1752e95b4ff60ee4ee6643" }, { "type": "WEB", "url": "https://github.com/xmldom/xmldom/commit/c02f786216bed70825f9a351c65e61500f51e931" }, { "type": "PACKAGE", "url": "https://github.com/xmldom/xmldom" }, { "type": "WEB", "url": "https://github.com/xmldom/xmldom/releases/tag/0.7.7" }, { "type": "WEB", "url": "https://github.com/xmldom/xmldom/releases/tag/0.8.4" }, { "type": "WEB", "url": "https://github.com/xmldom/xmldom/releases/tag/0.9.0-beta.4" }, { "type": "WEB", "url": "https://lists.debian.org/debian-lts-announce/2023/01/msg00000.html" } ], "schema_version": "1.4.0", "severity": [ { "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H", "type": "CVSS_V3" } ], "summary": "xmldom allows multiple root nodes in a DOM" }
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.