IT SBIT Services
Schneeberger
DEEN
CVE tracker

libexpat: Heap buffer over-read in XML_ParseBuffer

CVE-2026-77214High 8.3

← All vulnerabilities

Summary

libexpat, a streaming XML parser embedded in many applications and distributions, contains a heap buffer over-read in XML_ParseBuffer. The function advances the parse buffer end by a caller-supplied length without checking it against the allocated buffer size, so repeated calls can read past the heap allocation. A remote attacker who can influence the input processed by an affected application may be able to read adjacent heap memory, such as pointers that help defeat ASLR. Upstream maintainers consider the length the caller's responsibility, so real exposure depends on how each application calls the API.

Affected

  • libexpat up to and including 2.8.5 (per VulnCheck)
  • Some sources state 'prior to 2.9.0'; treat all versions before 2.9.0 as potentially affected until your distribution confirms otherwise

Fixed in

  • Upstream fix: commit 13c5f63 (PR #1393)
  • Upstream release: Expat 2.9.0 (released 2026-10-05; confirm CVE-2026-77214 in the changelog)
  • Use the fixed package version from your Linux distribution, not only the upstream version number

Workaround

Unknown.

Exploitation

  • CISA SSVC: exploitation none, automatable yes, technical impact partial
  • No in-the-wild exploitation or public exploit known at the time of research
  • EPSS about 0.003 (low)

Our recommendation

  • Identify systems and container images that bundle or link libexpat, including via Python, PHP, Perl or other runtimes
  • Update libexpat to the fixed version from your distribution and restart dependent services or rebuild images
  • Rescan images after updating, because some scanners may still report 'no fix available' from older snapshots
  • Prioritise internet-facing services that parse untrusted XML

Public exploits

PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.

Research sources

Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 1 Nov 2026, 14:00.

Original description (NVD)

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.

NVD references (3)

Sources

The tracker combines official, freely usable data sources – updated continuously:

This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.

Affected? We can help.

We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.