Critical Remote Code Execution Vulnerability in libxstream-java
Summary
DEBIAN-CVE-2021-39141: XStream is a simple library to serialize objects to XML and back again. Affects libxstream-java versions < 1.4.15-3+deb11u1. Fixed in 1.4.15-3+deb11u1. How to fix ↓
Check if this vulnerability affects your application
Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.
No signup required · Results in about 60 seconds
Background
libxstream-java is a Java library that facilitates the serialization of objects to XML and vice versa. It is widely used in various applications for data interchange. The library is designed to be flexible and easy to use, but its functionality can also expose applications to security risks if not properly configured. This vulnerability allows attackers to exploit the library's serialization capabilities to execute arbitrary code remotely.
Vulnerability Detail
The vulnerability identified as DEBIAN-CVE-2021-39141 allows a remote attacker to load and execute arbitrary code from a remote host by manipulating the processed input stream. This issue arises from the library's handling of untrusted input, which can lead to unauthorized code execution if the security framework is not configured correctly. Users who do not implement a security whitelist are at risk, as the library defaults to a less secure configuration.
How To Fix
Minimum fixed version
1.4.15-3+deb11u1
This is the first release that contains the fix.
sudo apt-get install --only-upgrade libxstream-java
Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →
Workaround
As a temporary workaround, users can configure XStream's security framework to use a whitelist of allowed types, limiting the types that can be deserialized. This can help mitigate the risk until the package is updated. Example configuration:
XStream xstream = new XStream();
// Allow only specific classes
xstream.allowTypes(new Class[]{AllowedClass1.class, AllowedClass2.class});
Conclusion
The vulnerability in libxstream-java poses a significant risk of remote code execution if not addressed. Users are strongly advised to update to the latest patched versions and configure the security framework appropriately to mitigate potential threats. Regular monitoring and vulnerability management practices are essential to maintain application security.
See every vulnerability recorded for libxstream-java →
FAQ
The vulnerability allows remote attackers to execute arbitrary code, potentially compromising the entire system.
You can use the Vulert playground at Vulert Scanner to check if your application is affected by this vulnerability without any signup.
Affected versions include all versions prior to the patched versions: 1.4.15-3+deb11u1 for Debian 11 and 1.4.18-1 for Debian 12, 13, and 14.
Yes, configuring XStream's security framework to use a whitelist of allowed types can help mitigate the risk.
If immediate updating is not possible, ensure that you implement strict input validation and use the security framework's whitelist feature.
References
Related vulnerabilities
Recent vulnerabilities recorded for libxstream-java.