VulnSea

libexpat_project has 29 CVEs on record between 2014 and 2026. 3 were published in the last 90 days. The busiest recent month was August 2026 with 3. The median CVSS is 7.5 (high), with 7 rated critical. None have a confirmed exploitation report. The dominant weakness classes are CWE-190 (11) and CWE-416 (3).

CVEs per month

Last 12 months, by publish date

111201020304050607080910
Exploited share
0% vs 1% corpus
Median CVSS
7.5
Publish → KEV
—
Last 90 days
3 prev 1

Products

  • libexpat 29
29
Total CVEs
7
Critical
0
CISA KEV
0
Exploited

libexpat_project vulnerabilities

CVEs affecting libexpat_project, newest first. Open any entry for full detail, references, and exploit status.

29 CVEsRSS

CVE-2026-76957Medium· 4.9
2mo ago

libexpat before 2.8.4 lacks handler call depth tracking with custom encoding callbacks

libexpat before 2.8.4 lacks handler call depth tracking with custom encoding callbacks. Thus, a use-after-free can occur. NOTE: this is similar to CVE-2026-50219, CVE-2026-56131 and CVE-2026-56412.

▾ Sunlitlibexpat_project · libexpatEPSS 0.11%via NVD
CVE-2026-76956Medium· 5.9
2mo ago

In libexpat 2.8.2 and 2.8.3 before 2.8.4, misinterpretation of getentropy's return code leads to insufficient entropy, which results in being vulnerable to hash flooding attacks, causing a denial of service via crafted XML content.

In libexpat 2.8.2 and 2.8.3 before 2.8.4, misinterpretation of getentropy's return code leads to insufficient entropy, which results in being vulnerable to hash flooding attacks, causing a denial of service via crafted XML content.

▾ Sunlitlibexpat_project · libexpatEPSS 0.29%via NVD
CVE-2026-66046High· 7.5
2mo ago

Expat through 2.8.3 contains a denial of service vulnerability caused by quadratic algorithmic complexity in the storeAtts() function in xmlparse.c, where processing N specified attributes with non-normalized values triggers an O(N^2) li…

Expat through 2.8.3 contains a denial of service vulnerability caused by quadratic algorithmic complexity in the storeAtts() function in xmlparse.c, where processing N specified attributes with non-normalized values triggers an O(N^2) li…

▾ Twilightlibexpat_project · libexpatEPSS 0.74%via NVD
CVE-2026-45186Low· 2.9⚖ disputed
5mo ago

In libexpat before 2.8.1, the computational complexity of attribute name collision checks allows a denial of service via moderately sized crafted XML input.

In libexpat before 2.8.1, the computational complexity of attribute name collision checks allows a denial of service via moderately sized crafted XML input.

▾ Sunlitlibexpat_project · libexpatEPSS 0.48%via NVD
CVE-2024-28757High· 7.5PoC
2y ago

libexpat through 2.6.1 allows an XML Entity Expansion attack when there is isolated use of external parsers (created via XML_ExternalEntityParserCreate).

libexpat through 2.6.1 allows an XML Entity Expansion attack when there is isolated use of external parsers (created via XML_ExternalEntityParserCreate).

▾ Midnightlibexpat_project · libexpatEPSS 2.0%via NVD
CVE-2023-52426Medium· 5.5
2y ago

libexpat through 2.5.0 allows recursive XML Entity Expansion if XML_DTD is undefined at compile time.

libexpat through 2.5.0 allows recursive XML Entity Expansion if XML_DTD is undefined at compile time.

▾ Sunlitlibexpat_project · libexpatEPSS 0.39%via NVD
CVE-2023-52425High· 7.5
2y ago

libexpat through 2.5.0 allows a denial of service (resource consumption) because many full reparsings are required in the case of a large token for which multiple buffer fills are needed.

libexpat through 2.5.0 allows a denial of service (resource consumption) because many full reparsings are required in the case of a large token for which multiple buffer fills are needed.

▾ Twilightlibexpat_project · libexpatEPSS 2.1%via NVD
CVE-2022-43680High· 7.5PoC
4y ago

In libexpat through 2.4.9, there is a use-after free caused by overeager destruction of a shared DTD in XML_ExternalEntityParserCreate in out-of-memory situations.

In libexpat through 2.4.9, there is a use-after free caused by overeager destruction of a shared DTD in XML_ExternalEntityParserCreate in out-of-memory situations.

▾ Midnightlibexpat_project · libexpatEPSS 3.2%via NVD
CVE-2022-40674High· 8.1
4y ago

libexpat before 2.4.9 has a use-after-free in the doContent function in xmlparse.c.

libexpat before 2.4.9 has a use-after-free in the doContent function in xmlparse.c.

▾ Twilightlibexpat_project · libexpatEPSS 2.3%via NVD
CVE-2022-25315Critical· 9.8PoC
4y ago

In Expat (aka libexpat) before 2.4.5, there is an integer overflow in storeRawNames.

In Expat (aka libexpat) before 2.4.5, there is an integer overflow in storeRawNames.

▾ Abyssallibexpat_project · libexpatEPSS 4.8%via NVD
CVE-2022-25314High· 7.5PoC
4y ago

In Expat (aka libexpat) before 2.4.5, there is an integer overflow in copyString.

In Expat (aka libexpat) before 2.4.5, there is an integer overflow in copyString.

▾ Midnightlibexpat_project · libexpatEPSS 4.8%via NVD
CVE-2022-25313Medium· 6.5PoC
4y ago

In Expat (aka libexpat) before 2.4.5, an attacker can trigger stack exhaustion in build_model via a large nesting depth in the DTD element.

In Expat (aka libexpat) before 2.4.5, an attacker can trigger stack exhaustion in build_model via a large nesting depth in the DTD element.

▾ Twilightlibexpat_project · libexpatEPSS 3.3%via NVD
CVE-2022-25236Critical· 9.8PoC
4y ago

xmlparse.c in Expat (aka libexpat) before 2.4.5 allows attackers to insert namespace-separator characters into namespace URIs.

xmlparse.c in Expat (aka libexpat) before 2.4.5 allows attackers to insert namespace-separator characters into namespace URIs.

▾ Abyssallibexpat_project · libexpatEPSS 35%via NVD
CVE-2022-25235Critical· 9.8PoC
4y ago

xmltok_impl.c in Expat (aka libexpat) before 2.4.5 lacks certain validation of encoding, such as checks for whether a UTF-8 character is valid in a certain context.

xmltok_impl.c in Expat (aka libexpat) before 2.4.5 lacks certain validation of encoding, such as checks for whether a UTF-8 character is valid in a certain context.

▾ Abyssallibexpat_project · libexpatEPSS 5.0%via NVD
CVE-2022-23990High· 7.5PoC
4y ago

Expat (aka libexpat) before 2.4.4 has an integer overflow in the doProlog function.

Expat (aka libexpat) before 2.4.4 has an integer overflow in the doProlog function.

▾ Midnightlibexpat_project · libexpatEPSS 4.7%via NVD
CVE-2022-23852Critical· 9.8PoC
4y ago

Expat (aka libexpat) before 2.4.4 has a signed integer overflow in XML_GetBuffer, for configurations with a nonzero XML_CONTEXT_BYTES.

Expat (aka libexpat) before 2.4.4 has a signed integer overflow in XML_GetBuffer, for configurations with a nonzero XML_CONTEXT_BYTES.

▾ Abyssallibexpat_project · libexpatEPSS 5.1%via NVD
CVE-2022-22827High· 8.8
4y ago

storeAtts in xmlparse.c in Expat (aka libexpat) before 2.4.3 has an integer overflow.

storeAtts in xmlparse.c in Expat (aka libexpat) before 2.4.3 has an integer overflow.

▾ Twilightlibexpat_project · libexpatEPSS 3.0%via NVD
CVE-2022-22826High· 8.8
4y ago

nextScaffoldPart in xmlparse.c in Expat (aka libexpat) before 2.4.3 has an integer overflow.

nextScaffoldPart in xmlparse.c in Expat (aka libexpat) before 2.4.3 has an integer overflow.

▾ Twilightlibexpat_project · libexpatEPSS 3.0%via NVD
CVE-2022-22825High· 8.8
4y ago

lookup in xmlparse.c in Expat (aka libexpat) before 2.4.3 has an integer overflow.

lookup in xmlparse.c in Expat (aka libexpat) before 2.4.3 has an integer overflow.

▾ Twilightlibexpat_project · libexpatEPSS 2.8%via NVD
CVE-2022-22824Critical· 9.8
4y ago

defineAttribute in xmlparse.c in Expat (aka libexpat) before 2.4.3 has an integer overflow.

defineAttribute in xmlparse.c in Expat (aka libexpat) before 2.4.3 has an integer overflow.

▾ Midnightlibexpat_project · libexpatEPSS 3.6%via NVD
CVE-2022-22823Critical· 9.8
4y ago

build_model in xmlparse.c in Expat (aka libexpat) before 2.4.3 has an integer overflow.

build_model in xmlparse.c in Expat (aka libexpat) before 2.4.3 has an integer overflow.

▾ Midnightlibexpat_project · libexpatEPSS 3.6%via NVD
CVE-2022-22822Critical· 9.8PoC
4y ago

addBinding in xmlparse.c in Expat (aka libexpat) before 2.4.3 has an integer overflow.

addBinding in xmlparse.c in Expat (aka libexpat) before 2.4.3 has an integer overflow.

▾ Abyssallibexpat_project · libexpatEPSS 5.1%via NVD
CVE-2021-46143High· 8.1PoC
4y ago

In doProlog in xmlparse.c in Expat (aka libexpat) before 2.4.3, an integer overflow exists for m_groupSize.

In doProlog in xmlparse.c in Expat (aka libexpat) before 2.4.3, an integer overflow exists for m_groupSize.

▾ Midnightlibexpat_project · libexpatEPSS 4.2%via NVD
CVE-2021-45960High· 8.8PoC
4y ago

In Expat (aka libexpat) before 2.4.3, a left shift by 29 (or more) places in the storeAtts function in xmlparse.c can lead to realloc misbehavior (e.g., allocating too few bytes, or only freeing memory).

In Expat (aka libexpat) before 2.4.3, a left shift by 29 (or more) places in the storeAtts function in xmlparse.c can lead to realloc misbehavior (e.g., allocating too few bytes, or only freeing memory).

▾ Midnightlibexpat_project · libexpatEPSS 4.7%via NVD
CVE-2019-15903High· 7.5
7y ago

In libexpat before 2.2.8, crafted XML input could fool the parser into changing from DTD parsing to document parsing too early; a consecutive call to XML_GetCurrentLineNumber (or XML_GetCurrentColumnNumber) then resulted in a heap-based …

In libexpat before 2.2.8, crafted XML input could fool the parser into changing from DTD parsing to document parsing too early; a consecutive call to XML_GetCurrentLineNumber (or XML_GetCurrentColumnNumber) then resulted in a heap-based …

▾ Twilightlibexpat_project · libexpatEPSS 6.6%via NVD
CVE-2018-20843High· 7.5
7y ago

In libexpat in Expat before 2.2.7, XML input including XML names that contain a large number of colons could make the XML parser consume a high amount of RAM and CPU resources while processing (enough to be usable for denial-of-service a…

In libexpat in Expat before 2.2.7, XML input including XML names that contain a large number of colons could make the XML parser consume a high amount of RAM and CPU resources while processing (enough to be usable for denial-of-service a…

▾ Twilightlibexpat_project · libexpatEPSS 7.1%via NVD
CVE-2017-9233High· 7.5
9y ago

XML External Entity vulnerability in libexpat 2.2.0 and earlier (Expat XML Parser Library) allows attackers to put the parser in an infinite loop using a malformed external entity definition from an external DTD.

XML External Entity vulnerability in libexpat 2.2.0 and earlier (Expat XML Parser Library) allows attackers to put the parser in an infinite loop using a malformed external entity definition from an external DTD.

▾ Twilightlibexpat_project · libexpatEPSS 8.7%via NVD
CVE-2016-4472High· 8.1
10y ago

The overflow protection in Expat is removed by compilers with certain optimization settings, which allows remote attackers to cause a denial of service (crash) or possibly execute arbitrary code via crafted XML data

The overflow protection in Expat is removed by compilers with certain optimization settings, which allows remote attackers to cause a denial of service (crash) or possibly execute arbitrary code via crafted XML data. NOTE: this vulnerab…

▾ Twilightlibexpat_project · libexpatEPSS 12%via NVD
CVE-2013-0340Medium· 6.8
12y ago

expat before version 2.4.0 does not properly handle entities expansion unless an application developer uses the XML_SetEntityDeclHandler function, which allows remote attackers to cause a denial of service (resource consumption), send HT…

expat before version 2.4.0 does not properly handle entities expansion unless an application developer uses the XML_SetEntityDeclHandler function, which allows remote attackers to cause a denial of service (resource consumption), send HT…

▾ Sunlitlibexpat_project · libexpatEPSS 19%via NVD
libexpat_project vulnerabilities (CVEs) · VulnSea