Executive brief
libexpat is a widely used open-source library for parsing XML data, integrated into many operating systems and applications. A vulnerability was found where the library fails to properly validate input lengths, which could allow a remote attacker to crash an application or potentially execute unauthorized code. This could lead to service disruptions or unauthorized access to sensitive systems that process XML files.
Technical details
A vulnerability exists in libexpat's xmlparse.c where the XML_ParseBuffer function does not validate that the 'len' parameter is non-negative. By providing a negative length, an attacker can trigger an integer overflow or improper memory handling. This can result in memory corruption, leading to a denial of service (application crash) or potentially remote code execution. The issue is reachable over the network if an application uses libexpat to parse untrusted XML input. The vulnerability is fixed in version 2.6.3.
Affected products
- libexpat project libexpat versions before 2.6.3
Timeline
- 2024-08-26: disclosed: Issue reported on GitHub
- 2024-08-30: advisory: NVD publication date
- 2024-09-04: patched: libexpat 2.6.3 released
References
- https://github.com/libexpat/libexpat/issues/887
- https://github.com/libexpat/libexpat/pull/890
- http://seclists.org/fulldisclosure/2024/Dec/10
- http://seclists.org/fulldisclosure/2024/Dec/12
- http://seclists.org/fulldisclosure/2024/Dec/6
- http://seclists.org/fulldisclosure/2024/Dec/7
- http://seclists.org/fulldisclosure/2024/Dec/8