Description
libexpat before commit 13c5f63 contains a heap buffer over-read vulnerability in xmlparse.c. XML_ParseBuffer advances the parse buffer end with parser->m_bufferEnd += len using a caller-supplied length that is not validated against the allocated buffer size, so repeated XML_ParseBuffer calls move m_bufferEnd past the end of the heap allocation and subsequent parsing reads out of bounds. Reaching this path requires a parse buffer to already be present; otherwise XML_ParseBuffer returns XML_ERROR_NO_BUFFER. A buffer is present after a prior call to XML_GetBuffer, either directly (the common case) or indirectly through a prior XML_Parse call that allocates the buffer internally. The over-read discloses adjacent heap memory to the calling application, recovering heap pointers, libc function pointers, and code pointers sufficient to defeat ASLR and build further exploitation primitives.
Published: 2026-10-07
Score: 8.3 High
EPSS: < 1% Very Low
KEV: No
Impact: Information disclosure that can lead to code execution
Action: Apply Patch
AI Analysis

Impact

A heap buffer over-read exists in libexpat’s xmlparse.c, where XML_ParseBuffer increments an internal end pointer without validating the caller‑supplied length. Repeated calls can move that pointer past the allocated heap, allowing the parser to read memory beyond the buffer’s bounds. This read leaks adjacent heap data, including pointers to libc function tables and other executable code, enough to defeat ASLR and serve as a foothold for further exploit development.

Affected Systems

The vulnerability applies to libexpat before the fix committed at 13c5f63. Any product bundles libexpat versions older than this commit are affected, regardless of distribution or packaging.

Risk and Exploitability

With a CVSS score of 8.3, the risk is considered high. The EPSS score is not available, and the vulnerability is not yet listed in the CISA KEV catalog. Exploitation requires that a parse buffer already exists, which is typical after a call to XML_GetBuffer or an earlier XML_Parse. Once the buffer is present, repeated XML_ParseBuffer calls can leak memory contents. An attacker can use the disclosed heap pointers and code pointers to bypass ASLR, creating a chain that can lead to remote code execution if additional privilege‑elevating or code‑execution primitives are available.

Generated by OpenCVE AI on October 7, 2026 at 15:21 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update libexpat to a version that includes commit 13c5f63 or newer, ensuring the buffer size validation is in place.
  • Recompile or rebuild any applications that link against libexpat to use the patched library.
  • Validate that no legacy XML_ParseBuffer usage remains in application code and replace it with safer alternatives that enforce strict length checks.

Generated by OpenCVE AI on October 7, 2026 at 15:21 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4849-1 expat security update
Debian DSA Debian DSA DSA-6566-1 expat security update
History

Tue, 27 Oct 2026 10:30:00 +0000

Type Values Removed Values Added
First Time appeared Libexpat Project
Libexpat Project libexpat
CPEs cpe:2.3:a:libexpat_project:libexpat:*:*:*:*:*:*:*:*
Vendors & Products Libexpat Project
Libexpat Project libexpat

Sun, 11 Oct 2026 12:45:00 +0000

Type Values Removed Values Added
First Time appeared Libexpat
Libexpat expat
Vendors & Products Libexpat
Libexpat expat

Sat, 10 Oct 2026 03:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 08 Oct 2026 12:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

threat_severity

Important


Wed, 07 Oct 2026 14:45:00 +0000

Type Values Removed Values Added
Description libexpat before commit 13c5f63 contains a heap buffer over-read vulnerability in xmlparse.c. XML_ParseBuffer advances the parse buffer end with parser->m_bufferEnd += len using a caller-supplied length that is not validated against the allocated buffer size, so repeated XML_ParseBuffer calls move m_bufferEnd past the end of the heap allocation and subsequent parsing reads out of bounds. Reaching this path requires a parse buffer to already be present; otherwise XML_ParseBuffer returns XML_ERROR_NO_BUFFER. A buffer is present after a prior call to XML_GetBuffer, either directly (the common case) or indirectly through a prior XML_Parse call that allocates the buffer internally. The over-read discloses adjacent heap memory to the calling application, recovering heap pointers, libc function pointers, and code pointers sufficient to defeat ASLR and build further exploitation primitives.
Title libexpat Heap Buffer Over-read in xmlparse.c via XML_ParseBuffer
Weaknesses CWE-125
References
Metrics cvssV3_1

{'score': 8.2, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:L'}

cvssV4_0

{'score': 8.3, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:L/SC:N/SI:N/SA:N'}


Subscriptions

Libexpat Expat
Libexpat Project Libexpat
cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-10-27T10:14:34.918Z

Reserved: 2026-08-20T18:25:46.943Z

Link: CVE-2026-77214

cve-icon Vulnrichment

Updated: 2026-10-10T02:26:05.425Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-07T15:17:53.327

Modified: 2026-10-10T03:17:08.487

Link: CVE-2026-77214

cve-icon Redhat

Severity : Important

Publid Date: 2026-10-07T14:35:42Z

Links: CVE-2026-77214 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-11T12:28:02Z

Weaknesses