GitHub Advisoryadvisory · npm
GHSA-5fg8-2547-mr8q Misinterpretation of malicious XML input
MEDIUM
Official page ↗
- Aliases
- CVE-2021-32796
- Ecosystem
- npm
- Packages
- xmldom, @xmldom/xmldom
- Severity
- Moderate
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
- Weaknesses
- CWE-116
- Reviewed
- 2021-08-02
Affected packages
• npm xmldom: <= 0.6.0 (no fix yet)
• npm @xmldom/xmldom: < 0.7.0 → fixed in 0.7.0
Description
Impact
xmldom versions 0.6.0 and older do not correctly escape special characters when serializing elements removed from their ancestor. This may lead to unexpected syntactic changes during XML processing in some downstream applications.
Patches
Update to one of the fixed versions of `@xmldom/xmldom` (`>=0.7.0`)
See issue #271 for the status of publishing `xmldom` to npm or join #270 for Q&A/discussion until it's resolved.
Workarounds
Downstream applications can validate the input and reject the maliciously crafted documents.
References
Similar to this one reported on the Go standard library:
• https://mattermost.com/blog/coordinated-disclosure-go-xml-vulnerabilities/
• https://mattermost.com/blog/securing-xml-implementations-across-the-web/
For more information
If you have any questions or comments about this advisory:
• Open an issue in `xmldom/xmldom`
• Email us: send an email to all addresses that are shown by `npm owner ls @xmldom/xmldom`
Related
Alias · CVE (1)
- CVE-2021-32796 xmldom is an open source pure JavaScript W3C standard-based (XML DOM Level 2 Core) DOMParser and XMLSerializer module. vulnerability
Weakness · CWE (1)
- CWE-116 Improper Encoding or Escaping of Output weakness
References
- https://github.com/xmldom/xmldom/security/advisories/GHSA-5fg8-2547-mr8q web
- https://nvd.nist.gov/vuln/detail/CVE-2021-32796 advisory
- https://github.com/xmldom/xmldom/commit/7b4b743917a892d407356e055b296dcd6d107e8b web
- https://github.com/xmldom/xmldom package
- https://mattermost.com/blog/coordinated-disclosure-go-xml-vulnerabilities web
- https://mattermost.com/blog/securing-xml-implementations-across-the-web web
- https://www.npmjs.com/package/@xmldom/xmldom web