Remote Code Execution Vulnerability in libxstream-java: CVE-2021-39141

libxstream-java Updated 02 Oct 2025

Summary

23/08/2021
N/A
Yes i
High
8.5

CVE-2021-39141: XStream is a simple library to serialize objects to XML and back again. Affects libxstream-java across 2 version ranges.

< 1.4.15-3+deb11u1 < b9ad1c02724c2b1636a8794c8e1bcd630f46c0b3

Fixed in 1.4.15-3+deb11u1. How to fix ↓

Free scan

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.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored MarkAI Find prospects already talking about the problem you solve AI watches the communities your customers use to find qualified prospects, then alerts you when a conversation is worth joining. See MarkAI

Background

libxstream-java is a library that facilitates the serialization of Java objects to XML and vice versa. It is widely used in various Java applications for data interchange. The library's functionality allows developers to easily convert complex data structures into a format that can be easily transmitted or stored. However, its flexibility also makes it susceptible to security vulnerabilities, particularly when input streams are not properly validated.

Vulnerability Detail

CVE-2021-39141 is a critical vulnerability in libxstream-java that allows remote attackers to execute arbitrary code by manipulating the input stream processed by the library. This vulnerability arises from the library's previous reliance on a blacklist approach for security, which has proven ineffective for general-purpose use. If the security framework is not configured correctly, an attacker can exploit this flaw to load and execute malicious code from a remote host, posing significant risks to affected systems.

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, if upgrading is not immediately possible, you can implement a security framework configuration that restricts the types of objects that can be deserialized. This can be done by setting up a whitelist of allowed classes in your application code, ensuring that only safe types are processed. Example code snippet:

XStream xstream = new XStream();

// Allow only specific classes
xstream.allowTypes(new Class[]{AllowedClass1.class, AllowedClass2.class});

Conclusion

CVE-2021-39141 is a significant vulnerability in libxstream-java that poses serious risks if not addressed. By upgrading to the latest versions and implementing proper security configurations, users can protect their applications from potential exploits. Regular monitoring for vulnerabilities using tools like Vulert can further enhance security.

See every vulnerability recorded for libxstream-java →

Share this vulnerability

FAQ

CVE-2021-39141 is a vulnerability in libxstream-java that allows remote code execution through manipulated input streams.

You can check if your application is affected by using the Vulert playground at Vulert Scanner, which analyzes your manifest file for vulnerabilities.

Exploitation of this vulnerability can lead to unauthorized remote code execution, potentially compromising the entire system.

Affected versions include those prior to 1.4.15-3+deb11u1 for Debian 11 and prior to 1.4.18-1 for Debian 12 and 13.

The CVSS score of CVE-2021-39141 is 8.5, indicating a high severity level.

Related vulnerabilities

Recent vulnerabilities recorded for libxstream-java.

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 →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback