PT-2026-107540 · Libexpat · Libexpat
CVSS v3.1
8.2
High
| Vector | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:L |
Name of the Vulnerable Software and Affected Versions
libexpat versions prior to 2.9.0
Description
A heap buffer over-read exists in the
xmlparse.c file. The XML ParseBuffer() function advances the parse buffer end using a caller-supplied length that is not validated against the allocated buffer size. Repeated calls to XML ParseBuffer() can move the m bufferEnd variable past the end of the heap allocation, causing subsequent parsing to read out of bounds. This path is reachable if a parse buffer is already present, which occurs after a call to XML GetBuffer() or an internal allocation via XML Parse(). This issue allows the disclosure of adjacent heap memory, which can leak heap pointers, libc function pointers, and code pointers, potentially defeating Address Space Layout Randomization (ASLR), a security technique that randomly arranges the address space positions of key data areas of a process to make exploitation harder.Recommendations
Update libexpat to version 2.9.0.
As a temporary mitigation, restrict the use of the
XML ParseBuffer() function with attacker-influenced or oversized lengths.Fix
Out of bounds Read
Found an issue in the description? Have something to add? Feel free to write us 👾
Weakness Enumeration
Related Identifiers
Affected Products
Libexpat