libexpat through 2.9.0 NULL Pointer Dereference via External Entity Subparser
Impact
libexpat through 2.9.0 contains a NULL pointer dereference vulnerability in externalEntityInitProcessor2() in lib/xmlparse.c that mishandles the XML_TOK_NONE token from empty input. Attackers who control stream chunking can force an empty non-final first parse on an external entity subparser, causing a later parse to crash the application.
Source excerpt · VulnCheckAffected packages
Affected products
Vendor version evidence. Product records are separate from automatic dependency matching.
libexpat · libexpat
Other versions: unaffected
| Version / range | Source status |
|---|---|
| 0 through 2.9.0 (inclusive) | affected |
Original source description
libexpat through 2.9.0 contains a NULL pointer dereference vulnerability in externalEntityInitProcessor2() in lib/xmlparse.c that mishandles the XML_TOK_NONE token from empty input. Attackers who control stream chunking can force an empty non-final first parse on an external entity subparser, causing a later parse to crash the application.
References
- Patch github.com/libexpat/libexpat/pull/1444
- Patch github.com/libexpat/libexpat/commit/7b0d50e4b1d16fafd55876260701e04279a7489d
- Source reference github.com/libexpat/libexpat/blob/a76b1174c1ea52abb639a4c69d52b630a8a106a2/expat/lib/xmlparse.c
- Source reference github.com/libexpat/libexpat
- Security advisory www.vulncheck.com/advisories/libexpat-through-2.9.0-null-pointer-dereference-via-external-entity-subparser