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.
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.
Downstream applications can validate the input and reject the maliciously crafted documents.
Similar to this one reported on the Go standard library:
If you have any questions or comments about this advisory:
xmldom/xmldom
npm owner ls @xmldom/xmldom
CPE | Name | Operator | Version |
---|---|---|---|
@xmldom/xmldom | lt | 0.7.0 | |
xmldom | le | 0.6.0 |
github.com/xmldom/xmldom
github.com/xmldom/xmldom/commit/7b4b743917a892d407356e055b296dcd6d107e8b
github.com/xmldom/xmldom/security/advisories/GHSA-5fg8-2547-mr8q
mattermost.com/blog/coordinated-disclosure-go-xml-vulnerabilities
mattermost.com/blog/securing-xml-implementations-across-the-web
nvd.nist.gov/vuln/detail/CVE-2021-32796
www.npmjs.com/package/@xmldom/xmldom