CVE-2024-47072: XStream is vulnerable to a Denial of Service attack due to stack overflow from a manipulated binary input stream
Impact The vulnerability may allow a remote attacker to terminate the application with a stack overflow error resulting in a denial of service only by manipulating the processed input stream when XStream is configured to use the BinaryStreamDriver.
Patches XStream 1.4.21 detects the manipulation in the binary input stream causing the the stack overflow and raises an InputManipulationException instead.
Workarounds The only solution is to catch the StackOverflowError in the client code calling XStream if XStream is configured to use the BinaryStreamDriver.
References See full information about the nature of the vulnerability and the steps to reproduce it in XStream's documentation for CVE-2024-47072.
Credits Alexis Challande of Trail Of Bits found and reported the issue to XStream and provided the required information to reproduce it.
Other sources
XStream is a simple library to serialize objects to XML and back again. This vulnerability may allow a remote attacker to terminate the application with a stack overflow error resulting in a denial of service only by manipulating the processed input stream when XStream is configured to use the BinaryStreamDriver. XStream 1.4.21 has been patched to detect the manipulation in the binary input stream causing the the stack overflow and raises an InputManipulationException instead. Users are advised to upgrade. Users unable to upgrade may catch the StackOverflowError in the client code calling XStream if XStream is configured to use the BinaryStreamDriver.
— NVD
XStream is vulnerable to a denial of service, caused by a stack-based buffer overflow in BinaryStreamDriver. By sending a specially crafted binary input stream, a remote attacker could exploit this vulnerability to cause a denial of service condition.
— IBM
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
maven/com.thoughtworks.xstream:xstreamto a version that resolves this vulnerability.Fixed in 1.4.21 - Upgrade
Upgrade
XStreamto a version that resolves this vulnerability.Fixed in 1.4.21 - Configuration
If XStream is configured to use the BinaryStreamDriver and you cannot upgrade, catch StackOverflowError in the client code calling XStream to prevent application termination (denial of service) when a manipulated binary input stream triggers a stack overflow.
Client code calling XStream BinaryStreamDriver error handling = catch StackOverflowError and handle it (e.g., fail the request)
Event History
Frequently Asked Questions
What is the severity of CVE-2024-47072?
CVE-2024-47072 has a severity rating that indicates it could lead to a denial of service due to a stack overflow error.
How do I fix CVE-2024-47072?
To fix CVE-2024-47072, update XStream to version 1.4.21 or a later version.
Who is affected by CVE-2024-47072?
CVE-2024-47072 affects applications using the XStream library configured with the BinaryStreamDriver.
What are the consequences of CVE-2024-47072?
The consequence of CVE-2024-47072 is that a remote attacker could exploit the vulnerability to terminate the application.
When was CVE-2024-47072 reported?
CVE-2024-47072 was reported as a vulnerability affecting XStream, with details communicated through GitHub advisories.