Miggo Logo

CVE-2021-21366: Misinterpretation of malicious XML input

4.3

CVSS Score
3.1

Basic Information

EPSS Score
0.67754%
Published
3/12/2021
Updated
2/2/2023
KEV Status
No
Technology
TechnologyJavaScript

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
xmldomnpm< 0.5.00.5.0

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stemmed from two key issues: 1) Incorrect quote handling in DOCTYPE serialization (lib/dom.js changes show quote preservation fixes) and 2) Missing duplicate attribute checks (sax.js changes introduce attributeNames tracking). The commit adds ParseError throwing for duplicates and modifies attribute handling in parseElementStartPart(). These functions directly correspond to the CVE's impact areas - system identifier preservation and attribute conflict resolution.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

### Imp**t xml*om v*rsions *.*.* *n* ol**r *o not *orr**tly pr*s*rv* [syst*m i**nti*i*rs](*ttps://www.w*.or*/TR/****/R**-xml-********/#*******), [*PIs](*ttps://*n.wikip**i*.or*/wiki/*orm*l_Pu*li*_I**nti*i*r) or [n*m*sp***s](*ttps://www.w*.or*/TR/xml

Reasoning

T** vuln*r**ility st*mm** *rom two k*y issu*s: *) In*orr**t quot* **n*lin* in `*O*TYP*` s*ri*liz*tion (`li*/*om.js` ***n**s s*ow quot* pr*s*rv*tion *ix*s) *n* *) Missin* *upli**t* *ttri*ut* ****ks (`s*x.js` ***n**s intro*u** *ttri*ut*N*m*s tr**kin*).