Every CVE Search/ Get API key

CVE-2020-26258

Server-Side Forgery Request can be activated unmarshalling with XStream

6.3 MediumPublic exploitFix available

XStream is a Java library to serialize objects to XML and back again. In XStream before version 1.4.15, a Server-Side Forgery Request vulnerability can be activated when unmarshalling. The vulnerability may allow a remote attacker to request data from internal resources that are not publicly available only by manipulating the processed input stream. If you rely on XStream's default blacklist of the Security Framework, you will have to use at least version 1.4.15. The reported vulnerability does not exist if running Java 15 or higher. No user is affected who followed the recommendation to setup XStream's Security Framework with a whitelist! Anyone relying on XStream's default blacklist can immediately switch to a whilelist for the allowed types to avoid the vulnerability. Users of XStream 1.4.14 or below who still want to use XStream default blacklist can use a workaround described in more detailed in the referenced advisories.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
High
Privileges needed
Low
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
None
Availability
None

Exploit likelihood

81.8%Up 74.1 points since Apr 14, 2021
90%50%10%1%

What each source reports

CVE List Score used 6.3

Server-Side Forgery Request can be activated unmarshalling with XStream

XStream is a Java library to serialize objects to XML and back again. In XStream before version 1.4.15, a Server-Side Forgery Request vulnerability can be activated when unmarshalling. The vulnerability may allow a remote attacker to request data from internal resources that are not publicly available only by manipulating the processed input stream. If you rely on XStream's default blacklist of the Security Framework, you will have to use at least version 1.4.15. The reported vulnerability does not exist if running Java 15 or higher. No user is affected who followed the recommendation to setup XStream's Security Framework with a whitelist! Anyone relying on XStream's default blacklist can immediately switch to a whilelist for the allowed types to avoid the vulnerability. Users of XStream 1.4.14 or below who still want to use XStream default blacklist can use a workaround described in more detailed in the referenced advisories.

Record
CVE-2020-26258
CVSS 3.1
6.3 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N
Weakness
CWE-918
Updated
2026-11-02
EUVDEUVD-2020-1481 6.3

XStream is a Java library to serialize objects to XML and back again. In XStream before version 1.4.15, a Server-Side Forgery Request vulnerability can be activated when unmarshalling. The vulnerability may allow a remote attacker to request data from internal resources that are not publicly available only by manipulating the processed input stream. If you rely on XStream's default blacklist of the Security Framework, you will have to use at least version 1.4.15. The reported vulnerability does not exist if running Java 15 or higher. No user is affected who followed the recommendation to setup XStream's Security Framework with a whitelist! Anyone relying on XStream's default blacklist can immediately switch to a whilelist for the allowed types to avoid the vulnerability. Users of XStream 1.4.14 or below who still want to use XStream default blacklist can use a workaround described in more detailed in the referenced advisories.

Record
EUVD-2020-1481
CVSS 3.1
6.3 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-4cch-wxpw-8p28 6.3

Server-Side Forgery Request can be activated unmarshalling with XStream

Impact

The vulnerability may allow a remote attacker to request data from internal resources that are not publicly available only by manipulating the processed input stream.

Patches

If you rely on XStream's default blacklist of the Security Framework, you will have to use at least version 1.4.15.

Workarounds

The reported vulnerability does not exist running Java 15 or higher.

No user is affected, who followed the recommendation to setup XStream's Security Framework with a whitelist! Anyone relying on XStream's default blacklist can immediately switch to a whilelist for the allowed types to avoid the vulnerability.

Users of XStream 1.4.14 or below who still insist to use XStream default blacklist - despite that clear recommendation - can use a workaround depending on their version in use.

Users of XStream 1.4.14 can simply add two lines to XStream's setup code:

xstream.denyTypes(new String[]{ "jdk.nashorn.internal.objects.NativeString" });
xstream.denyTypesByRegExp(new String[]{ ".*\\.ReadAllStream\\$FileStream" });

Users of XStream 1.4.14 to 1.4.13 can simply add three lines to XStream's setup code:

xstream.denyTypes(new String[]{ "javax.imageio.ImageIO$ContainsFilter", "jdk.nashorn.internal.objects.NativeString" });
xstream.denyTypes(new Class[]{ java.lang.ProcessBuilder.class });
xstream.denyTypesByRegExp(new String[]{ ".*\\.ReadAllStream\\$FileStream" });

Users of XStream 1.4.12 to 1.4.7 who want to use XStream with a black list will have to setup such a list from scratch and deny at least the following types: javax.imageio.ImageIO$ContainsFilter, java.beans.EventHandler, java.lang.ProcessBuilder, jdk.nashorn.internal.objects.NativeString.class, java.lang.Void and void and deny several types by name pattern.

xstream.denyTypes(new String[]{ "javax.imageio.ImageIO$ContainsFilter", "jdk.nashorn.internal.objects.NativeString" });
xstream.denyTypes(new Class[]{ java.lang.ProcessBuilder.class, "jdk.nashorn.internal.objects.NativeString", java.beans.EventHandler.class, java.lang.ProcessBuilder.class, java.lang.Void.class, void.class });
xstream.denyTypesByRegExp(new String[]{ ".*\\$LazyIterator", "javax\\.crypto\\..*", ".*\\.ReadAllStream\\$FileStream" });

Users of XStream 1.4.6 or below can register an own converter to prevent the unmarshalling of the currently know critical types of the Java runtime. It is in fact an updated version of the workaround for CVE-2013-7285:

xstream.registerConverter(new Converter() {
  public boolean canConvert(Class type) {
    return type != null && (type == java.beans.EventHandler.class || type == java.lang.ProcessBuilder.class
        || type.getName().equals("javax.imageio.ImageIO$ContainsFilter") || type.getName().equals("jdk.nashorn.internal.objects.NativeString")
        || type == java.lang.Void.class || void.class || Proxy.isProxy(type))
        || type.getName().startsWith("javax.crypto.") || type.getName().endsWith("$LazyIterator") || type.getName().endsWith(".ReadAllStream$FileStream"));
  }

  public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context) {
    throw new ConversionException("Unsupported type due to security reasons.");
  }

  public void marshal(Object source, HierarchicalStreamWriter writer, MarshallingContext context) {
    throw new ConversionException("Unsupported type due to security reasons.");
  }
}, XStream.PRIORITY_LOW);

For more information

If you have any questions or comments about this advisory:

Record
GHSA-4cch-wxpw-8p28
CVSS 3.1
6.3 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N
Weakness
CWE-918
Updated
2026-11-02
NVD 6.3

XStream is a Java library to serialize objects to XML and back again. In XStream before version 1.4.15, a Server-Side Forgery Request vulnerability can be activated when unmarshalling. The vulnerability may allow a remote attacker to request data from internal resources that are not publicly available only by manipulating the processed input stream. If you rely on XStream's default blacklist of the Security Framework, you will have to use at least version 1.4.15. The reported vulnerability does not exist if running Java 15 or higher. No user is affected who followed the recommendation to setup XStream's Security Framework with a whitelist! Anyone relying on XStream's default blacklist can immediately switch to a whilelist for the allowed types to avoid the vulnerability. Users of XStream 1.4.14 or below who still want to use XStream default blacklist can use a workaround described in more detailed in the referenced advisories.

Record
CVE-2020-26258
CVSS 3.1
6.3 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N
CVSS 3.1
7.7 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
CVSS 2.0
5.0 MediumAV:N/AC:L/Au:N/C:P/I:N/A:N
Weakness
CWE-918
Updated
2026-11-02
OSV 7.7

XStream is a Java library to serialize objects to XML and back again. In XStream before version 1.4.15, a Server-Side Forgery Request vulnerability can be activated when unmarshalling. The vulnerability may allow a remote attacker to request data from internal resources that are not publicly available only by manipulating the processed input stream. If you rely on XStream's default blacklist of the Security Framework, you will have to use at least version 1.4.15. The reported vulnerability does not exist if running Java 15 or higher. No user is affected who followed the recommendation to setup XStream's Security Framework with a whitelist! Anyone relying on XStream's default blacklist can immediately switch to a whilelist for the allowed types to avoid the vulnerability. Users of XStream 1.4.14 or below who still want to use XStream default blacklist can use a workaround described in more detailed in the referenced advisories.

Record
CVE-2020-26258
CVSS 3.1
7.7 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
Updated
2026-11-02
OSVDEBIAN-CVE-2020-26258 7.7

XStream is a Java library to serialize objects to XML and back again. In XStream before version 1.4.15, a Server-Side Forgery Request vulnerability can be activated when unmarshalling. The vulnerability may allow a remote attacker to request data from internal resources that are not publicly available only by manipulating the processed input stream. If you rely on XStream's default blacklist of the Security Framework, you will have to use at least version 1.4.15. The reported vulnerability does not exist if running Java 15 or higher. No user is affected who followed the recommendation to setup XStream's Security Framework with a whitelist! Anyone relying on XStream's default blacklist can immediately switch to a whilelist for the allowed types to avoid the vulnerability. Users of XStream 1.4.14 or below who still want to use XStream default blacklist can use a workaround described in more detailed in the referenced advisories.

Record
DEBIAN-CVE-2020-26258
CVSS 3.1
7.7 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
Updated
2026-11-02
Show 10 moreShow less
OSVGHSA-4cch-wxpw-8p28 6.3

Server-Side Forgery Request can be activated unmarshalling with XStream

Impact

The vulnerability may allow a remote attacker to request data from internal resources that are not publicly available only by manipulating the processed input stream.

Patches

If you rely on XStream's default blacklist of the Security Framework, you will have to use at least version 1.4.15.

Workarounds

The reported vulnerability does not exist running Java 15 or higher.

No user is affected, who followed the recommendation to setup XStream's Security Framework with a whitelist! Anyone relying on XStream's default blacklist can immediately switch to a whilelist for the allowed types to avoid the vulnerability.

Users of XStream 1.4.14 or below who still insist to use XStream default blacklist - despite that clear recommendation - can use a workaround depending on their version in use.

Users of XStream 1.4.14 can simply add two lines to XStream's setup code:

xstream.denyTypes(new String[]{ "jdk.nashorn.internal.objects.NativeString" });
xstream.denyTypesByRegExp(new String[]{ ".*\\.ReadAllStream\\$FileStream" });

Users of XStream 1.4.14 to 1.4.13 can simply add three lines to XStream's setup code:

xstream.denyTypes(new String[]{ "javax.imageio.ImageIO$ContainsFilter", "jdk.nashorn.internal.objects.NativeString" });
xstream.denyTypes(new Class[]{ java.lang.ProcessBuilder.class });
xstream.denyTypesByRegExp(new String[]{ ".*\\.ReadAllStream\\$FileStream" });

Users of XStream 1.4.12 to 1.4.7 who want to use XStream with a black list will have to setup such a list from scratch and deny at least the following types: javax.imageio.ImageIO$ContainsFilter, java.beans.EventHandler, java.lang.ProcessBuilder, jdk.nashorn.internal.objects.NativeString.class, java.lang.Void and void and deny several types by name pattern.

xstream.denyTypes(new String[]{ "javax.imageio.ImageIO$ContainsFilter", "jdk.nashorn.internal.objects.NativeString" });
xstream.denyTypes(new Class[]{ java.lang.ProcessBuilder.class, "jdk.nashorn.internal.objects.NativeString", java.beans.EventHandler.class, java.lang.ProcessBuilder.class, java.lang.Void.class, void.class });
xstream.denyTypesByRegExp(new String[]{ ".*\\$LazyIterator", "javax\\.crypto\\..*", ".*\\.ReadAllStream\\$FileStream" });

Users of XStream 1.4.6 or below can register an own converter to prevent the unmarshalling of the currently know critical types of the Java runtime. It is in fact an updated version of the workaround for CVE-2013-7285:

xstream.registerConverter(new Converter() {
  public boolean canConvert(Class type) {
    return type != null && (type == java.beans.EventHandler.class || type == java.lang.ProcessBuilder.class
        || type.getName().equals("javax.imageio.ImageIO$ContainsFilter") || type.getName().equals("jdk.nashorn.internal.objects.NativeString")
        || type == java.lang.Void.class || void.class || Proxy.isProxy(type))
        || type.getName().startsWith("javax.crypto.") || type.getName().endsWith("$LazyIterator") || type.getName().endsWith(".ReadAllStream$FileStream"));
  }

  public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context) {
    throw new ConversionException("Unsupported type due to security reasons.");
  }

  public void marshal(Object source, HierarchicalStreamWriter writer, MarshallingContext context) {
    throw new ConversionException("Unsupported type due to security reasons.");
  }
}, XStream.PRIORITY_LOW);

For more information

If you have any questions or comments about this advisory:

Record
GHSA-4cch-wxpw-8p28
CVSS 3.1
6.3 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N
Weakness
CWE-918
Updated
2026-11-02
OSVOESA-2021-1015 7.7

xstream security update

XStream is a simple library to serialize objects to XML and back again. A high level facade is supplied that simplifies common use cases. Custom objects can be serialized without need for specifying mappings. Speed and low memory footprint are a crucial part of the design, making it suitable for large object graphs or systems with high message throughput. No information is duplicated that can be obtained via reflection. This results in XML that is easier to read for humans and more compact than native Java serialization. XStream serializes internal fields, including private and final. Supports non-public and inner classes. Classes are not required to have default constructor. Duplicate references encountered in the object-model will be maintained. Supports circular references. By implementing an interface, XStream can serialize directly to/from any tree structure (not just XML). Strategies can be registered allowing customization of how particular types are represented as XML. When an exception occurs due to malformed XML, detailed diagnostics are provided to help isolate and fix the problem.\r\n\r\n Security Fix(es):\r\n\r\n XStream is a Java library to serialize objects to XML and back again. In XStream before version 1.4.15, a Server-Side Forgery Request vulnerability can be activated when unmarshalling. The vulnerability may allow a remote attacker to request data from internal resources that are not publicly available only by manipulating the processed input stream. If you rely on XStream's default blacklist of the Security Framework, you will have to use at least version 1.4.15. The reported vulnerability does not exist if running Java 15 or higher. No user is affected who followed the recommendation to setup XStream's Security Framework with a whitelist! Anyone relying on XStream's default blacklist can immediately switch to a whilelist for the allowed types to avoid the vulnerability. Users of XStream 1.4.14 or below who still want to use XStream default blacklist can use a workaround described in more detailed in the referenced advisories.(CVE-2020-26258)\r\n\r\n XStream is a Java library to serialize objects to XML and back again. In XStream before version 1.4.15, is vulnerable to an Arbitrary File Deletion on the local host when unmarshalling. The vulnerability may allow a remote attacker to delete arbitrary know files on the host as log as the executing process has sufficient rights only by manipulating the processed input stream. If you rely on XStream's default blacklist of the Security Framework, you will have to use at least version 1.4.15. The reported vulnerability does not exist running Java 15 or higher. No user is affected, who followed the recommendation to setup XStream's Security Framework with a whitelist! Anyone relying on XStream's default blacklist can immediately switch to a whilelist for the allowed types to avoid the vulnerability. Users of XStream 1.4.14 or below who still want to use XStream default blacklist can use a workaround described in more detailed in the referenced advisories.(CVE-2020-26259)\r\n\r\n

Record
OESA-2021-1015
CVSS 3.1
7.7 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
Updated
2026-11-02
OSVUBUNTU-CVE-2020-26258 7.7

XStream is a Java library to serialize objects to XML and back again. In XStream before version 1.4.15, a Server-Side Forgery Request vulnerability can be activated when unmarshalling. The vulnerability may allow a remote attacker to request data from internal resources that are not publicly available only by manipulating the processed input stream. If you rely on XStream's default blacklist of the Security Framework, you will have to use at least version 1.4.15. The reported vulnerability does not exist if running Java 15 or higher. No user is affected who followed the recommendation to setup XStream's Security Framework with a whitelist! Anyone relying on XStream's default blacklist can immediately switch to a whilelist for the allowed types to avoid the vulnerability. Users of XStream 1.4.14 or below who still want to use XStream default blacklist can use a workaround described in more detailed in the referenced advisories.

Record
UBUNTU-CVE-2020-26258
CVSS 3.1
7.7 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
CVSS 3.1
6.3 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N
Updated
2026-11-02
OSVopenSUSE-SU-2021:0140-1 No score

Security update for xstream

This update for xstream fixes the following issues:

xstream was updated to version 1.4.15.

  • CVE-2020-26217: Fixed a remote code execution due to insecure XML deserialization when relying on blocklists (bsc#1180994).
  • CVE-2020-26258: Fixed a server-side request forgery vulnerability (bsc#1180146).
  • CVE-2020-26259: Fixed an arbitrary file deletion vulnerability (bsc#1180145).

This update was imported from the SUSE:SLE-15-SP2:Update update project.

Record
openSUSE-SU-2021:0140-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:10592-1 No score

xstream-1.4.18-1.1 on GA media

These are all security issues fixed in the xstream-1.4.18-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:10592-1
Updated
2026-11-02
OSVSUSE-SU-2021:0176-1 No score

Security update for xstream

This update for xstream fixes the following issues:

xstream was updated to version 1.4.15.

  • CVE-2020-26217: Fixed a remote code execution due to insecure XML deserialization when relying on blocklists (bsc#1180994).
  • CVE-2020-26258: Fixed a server-side request forgery vulnerability (bsc#1180146).
  • CVE-2020-26259: Fixed an arbitrary file deletion vulnerability (bsc#1180145).
Record
SUSE-SU-2021:0176-1
Updated
2026-11-02
OSVSUSE-SU-2021:0906-1 No score

Security update for SUSE Manager Server 4.1

This update fixes the following issues:

cobbler:

  • Fix string replacement for @@xyz@@
  • Better performing string replacements

grafana-formula:

  • Set supported to false for unsupported systems (bsc#1182001)
  • Add SLES 15 SP3 and openSUSE Leap 15.3 to supported versions

mgr-libmod:

  • Fix 'list_modules' JSON serialization (bsc#1182492)

mgr-osad:

  • Adapt to new SSL implementation of rhnlib (bsc#1181807)

prometheus-exporters-formula:

  • Add Ubuntu support for Prometheus exporters' reverse proxy

prometheus-formula:

  • Set server hostname from pillar data (bsc#1180439)

py26-compat-salt:

  • Do not crash when unexpected cmd output at listing patches (bsc#1181290)

rhnlib:

  • Change SSL implementation to python ssl for better SAN and hostname matching support (bsc#1181807)

smdba:

  • Do not remove the database if there is no backup and deal with manifest

spacewalk-backend:

  • Open repomd files as binary (bsc#1173893)
  • Fix requesting Release file in debian repos (bsc#1182006)
  • Reposync: Fixed Kickstart functionality.
  • Reposync: Fixed URLGrabber error handling.
  • Reposync: Fix modular data handling for cloned channels (bsc#1177508)

spacewalk-client-tools:

  • Adapt to new SSL implementation of rhnlib (bsc#1181807)

spacewalk-config:

  • Increase apache ssl logs to include response code and process time

spacewalk-java:

  • Homogenizes style in filter buttons, facilitating testability
  • Cleanup sessions via SQL query instead of SQL function (bsc#1180224)
  • Rebuild and improve rendering of error pages 404 and 500 pages (bsc#1181228)
  • Fix user creation with pam auth and no password (bsc#1179579)
  • Fix action chains for saltssh minions (bsc#1182200)
  • FIX: Slow response of 'Software > Install' in Ubuntu minions (bsc#1181165)
  • Do not call page decorator in HEAD requests (bsc#1181228)
  • Add 'mgr_origin_server' to Salt pillar data (bsc#1180439)
  • Ensure new files are synced just after writing them (bsc#1175660)
  • Enable openscap auditing for salt systems in SSM (bsc#1157711)
  • Detect debian products (bsc#1181416)
  • Show packages from channels assigned to the targeted system (bsc#1181423)
  • Add an API endpoint to allow/disallow scheduling irrelevant patches (bsc#1180757)
  • Open raw output in new tab for ScriptRunAction (bsc#1180547)
  • Default to preferred items per page in content lifecycle lists (bsc#1180558)
  • Fix modular data handling for cloned channels (bsc#1177508)
  • Fix: login gets an ISE when SSO is enabled (bsc#1181048)

spacewalk-utils:

  • Fix modular data handling for cloned channels (bsc#1177508)

spacewalk-web:

  • Replace CRLF in ssh priv key when bootstrapping (bsc#1182685)
  • Upgrade immer to fix CVE-2020-28477
  • Default to preferred items per page in content lifecycle lists (bsc#1180558)
  • Fix sorting in content lifecycle projects and cluster tables (bsc#1180558)

susemanager:

  • Add SLE 15 SP3 bootstrap repository definitions (bsc#1182008)
  • Python3-dbus-python and dependencies not installed by default on JeOS SLE15 images, add them to the bootstrap repository list of packages for traditional (bsc#1182071)

susemanager-doc-indexes:

  • Updated Command Line Registration with Salt section in the Client Configuration Guide for clarity.
  • Adds openSUSE Leap SP migration to the SP migration section of the Client Configuration Guide
  • Adds note that bootstrap procedure for selecting a parent channel is optional in Client Configuration Guide (bsc#1181635)
  • Adds note about checking for valid UUIDs in fstab when backing up (bsc#1181814)
  • Updated command for running configure proxy script when replacing a proxy
  • Fixed bad SUSE Customer Center URL

susemanager-docs_en:

  • Updated Command Line Registration with Salt section in the Client Configuration Guide for clarity.
  • Adds openSUSE Leap SP migration to the SP migration section of the Client Configuration Guide
  • Adds note that bootstrap procedure for selecting a parent channel is optional in Client Configuration Guide (bsc#1181635)
  • Adds note about…
Record
SUSE-SU-2021:0906-1
Updated
2026-11-02
OSVUSN-4714-1 No score

libxstream-java vulnerabilities

Zhihong Tian and Hui Lu found that XStream was vulnerable to remote code execution. A remote attacker could run arbitrary shell commands by manipulating the processed input stream. (CVE-2020-26217)

It was discovered that XStream was vulnerable to server-side forgery attacks. A remote attacker could request data from internal resources that are not publicly available only by manipulating the processed input stream. (CVE-2020-26258)

It was discovered that XStream was vulnerable to arbitrary file deletion on the local host. A remote attacker could use this to delete arbitrary known files on the host as long as the executing process had sufficient rights only by manipulating the processed input stream. (CVE-2020-26259)

Record
USN-4714-1
Updated
2026-11-02
OSVUSN-4943-1 No score

libxstream-java vulnerabilities

Zhihong Tian and Hui Lu found that XStream was vulnerable to remote code execution. A remote attacker could run arbitrary shell commands by manipulating the processed input stream. This issue affected only affected Ubuntu 20.10. (CVE-2020-26217)

It was discovered that XStream was vulnerable to server-side forgery attacks. A remote attacker could request data from internal resources that are not publicly available only by manipulating the processed input stream. This issue only affected Ubuntu 20.10. (CVE-2020-26258)

It was discovered that XStream was vulnerable to arbitrary file deletion on the local host. A remote attacker could use this to delete arbitrary known files on the host as long as the executing process had sufficient rights only by manipulating the processed input stream. This issue only affected Ubuntu 20.10. (CVE-2020-26259)

It was discovered that XStream was vulnerable to denial of service, arbitrary code execution, arbitrary file deletion and server-side forgery attacks. A remote attacker could cause any of those issues by manipulating the processed input stream. (CVE-2021-21341, CVE-2021-21342, CVE-2021-21343 CVE-2021-21344, CVE-2021-21345, CVE-2021-21346, CVE-2021-21347, CVE-2021-21348, CVE-2021-21349, CVE-2021-21350, CVE-2021-21351)

Record
USN-4943-1
Updated
2026-11-02
OSVUSN-6978-1 No score

libxstream-java vulnerabilities

It was discovered that XStream incorrectly handled parsing of certain crafted XML documents. A remote attacker could possibly use this issue to read arbitrary files. (CVE-2016-3674)

Zhihong Tian and Hui Lu found that XStream was vulnerable to remote code execution. A remote attacker could run arbitrary shell commands by manipulating the processed input stream. (CVE-2020-26217)

It was discovered that XStream was vulnerable to server-side forgery attacks. A remote attacker could request data from internal resources that are not publicly available only by manipulating the processed input stream. (CVE-2020-26258)

It was discovered that XStream was vulnerable to arbitrary file deletion on the local host. A remote attacker could use this to delete arbitrary known files on the host as long as the executing process had sufficient rights only by manipulating the processed input stream. (CVE-2020-26259)

It was discovered that XStream was vulnerable to denial of service, arbitrary code execution, arbitrary file deletion and server-side forgery attacks. A remote attacker could cause any of those issues by manipulating the processed input stream. (CVE-2021-21341, CVE-2021-21342, CVE-2021-21343, CVE-2021-21344, CVE-2021-21345, CVE-2021-21346, CVE-2021-21347, CVE-2021-21348, CVE-2021-21349, CVE-2021-21350, CVE-2021-21351)

Record
USN-6978-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
com.thoughtworks.xstream:xstream
Maven
before 1.4.15
1.4.15
libxstream-java
Debian:12
before 1.4.15-1
1.4.15-1
libxstream-java
Debian:13
before 1.4.15-1
1.4.15-1
libxstream-java
Debian:14
before 1.4.15-1
1.4.15-1
libxstream-java
Debian:9
From an advisory covering 2 CVEs
before 1.4.11.1-1+deb9u1, plus listed versions
1.4.10-11.4.11-11.4.11.1-11.4.9-21.4.9-2+deb9u1
1.4.11.1-1+deb9u1
libxstream-java
Debian:10
From an advisory covering 2 CVEs
before 1.4.11.1-1+deb10u2, plus listed versions
1.4.11.1-11.4.11.1-1+deb10u1
1.4.11.1-1+deb10u2
com.thoughtworks.xstream:xstream
Maven
before 1.4.15, plus listed versions
0.10.20.30.50.6
Show 34 moreShow less
1.01.0.11.0.21.11.1.11.1.21.1.31.21.2.11.2.21.31.3.11.41.4.11.4.101.4.10-java71.4.111.4.11-java71.4.11.11.4.121.4.12-java71.4.131.4.13-java71.4.141.4.14-java71.4.14-jdk71.4.21.4.31.4.41.4.51.4.61.4.71.4.81.4.9
1.4.15
xstream
openEuler:20.03-LTS-SP1
From an advisory covering 2 CVEs
before 1.4.11.1-3.oe1
1.4.11.1-3.oe1
xstream
SUSE:Linux Enterprise Module for Development Tools 15 SP2
From an advisory covering 3 CVEs
before 1.4.15-3.3.2
1.4.15-3.3.2
mgr-osad
SUSE:Manager Proxy Module 4.1
From an advisory covering 4 CVEs
before 4.1.5-2.9.4
4.1.5-2.9.4
Show 41 moreShow less
Affected packages
PackageAffectedFixed
rhnlib
SUSE:Manager Proxy Module 4.1
From an advisory covering 4 CVEs
before 4.1.3-4.3.2
4.1.3-4.3.2
spacewalk-backend
SUSE:Manager Proxy Module 4.1
From an advisory covering 4 CVEs
before 4.1.21-4.22.7
4.1.21-4.22.7
spacewalk-client-tools
SUSE:Manager Proxy Module 4.1
From an advisory covering 4 CVEs
before 4.1.9-4.12.4
4.1.9-4.12.4
spacewalk-proxy
SUSE:Manager Proxy Module 4.1
From an advisory covering 4 CVEs
before 4.1.4-3.9.4
4.1.4-3.9.4
spacewalk-proxy-installer
SUSE:Manager Proxy Module 4.1
From an advisory covering 4 CVEs
before 4.1.6-3.3.2
4.1.6-3.3.2
spacewalk-web
SUSE:Manager Proxy Module 4.1
From an advisory covering 4 CVEs
before 4.1.23-3.18.6
4.1.23-3.18.6
cobbler
SUSE:Manager Server Module 4.1
From an advisory covering 4 CVEs
before 3.0.0+git20190806.32c4bae0-5.6.4
3.0.0+git20190806.32c4bae0-5.6.4
grafana-formula
SUSE:Manager Server Module 4.1
From an advisory covering 4 CVEs
before 0.4.0-3.6.2
0.4.0-3.6.2
mgr-libmod
SUSE:Manager Server Module 4.1
From an advisory covering 4 CVEs
before 4.1.7-3.16.2
4.1.7-3.16.2
mgr-osad
SUSE:Manager Server Module 4.1
From an advisory covering 4 CVEs
before 4.1.5-2.9.4
4.1.5-2.9.4
prometheus-exporters-formula
SUSE:Manager Server Module 4.1
From an advisory covering 4 CVEs
before 0.9.0-3.19.2
0.9.0-3.19.2
prometheus-formula
SUSE:Manager Server Module 4.1
From an advisory covering 4 CVEs
before 0.3.1-3.6.2
0.3.1-3.6.2
py26-compat-salt
SUSE:Manager Server Module 4.1
From an advisory covering 4 CVEs
before 2016.11.10-6.11.2
2016.11.10-6.11.2
rhnlib
SUSE:Manager Server Module 4.1
From an advisory covering 4 CVEs
before 4.1.3-4.3.2
4.1.3-4.3.2
smdba
SUSE:Manager Server Module 4.1
From an advisory covering 4 CVEs
before 1.7.8-0.3.6.2
1.7.8-0.3.6.2
spacewalk-backend
SUSE:Manager Server Module 4.1
From an advisory covering 4 CVEs
before 4.1.21-4.22.7
4.1.21-4.22.7
spacewalk-client-tools
SUSE:Manager Server Module 4.1
From an advisory covering 4 CVEs
before 4.1.9-4.12.4
4.1.9-4.12.4
spacewalk-config
SUSE:Manager Server Module 4.1
From an advisory covering 4 CVEs
before 4.1.5-3.3.2
4.1.5-3.3.2
spacewalk-java
SUSE:Manager Server Module 4.1
From an advisory covering 4 CVEs
before 4.1.30-3.31.7
4.1.30-3.31.7
spacewalk-utils
SUSE:Manager Server Module 4.1
From an advisory covering 4 CVEs
before 4.1.14-3.12.2
4.1.14-3.12.2
spacewalk-web
SUSE:Manager Server Module 4.1
From an advisory covering 4 CVEs
before 4.1.23-3.18.6
4.1.23-3.18.6
subscription-matcher
SUSE:Manager Server Module 4.1
From an advisory covering 4 CVEs
before 0.26-3.6.2
0.26-3.6.2
susemanager
SUSE:Manager Server Module 4.1
From an advisory covering 4 CVEs
before 4.1.24-3.20.2
4.1.24-3.20.2
susemanager-doc-indexes
SUSE:Manager Server Module 4.1
From an advisory covering 4 CVEs
before 4.1-11.28.4
4.1-11.28.4
susemanager-docs_en
SUSE:Manager Server Module 4.1
From an advisory covering 4 CVEs
before 4.1-11.28.2
4.1-11.28.2
susemanager-schema
SUSE:Manager Server Module 4.1
From an advisory covering 4 CVEs
before 4.1.19-3.24.4
4.1.19-3.24.4
susemanager-sls
SUSE:Manager Server Module 4.1
From an advisory covering 4 CVEs
before 4.1.21-3.26.2
4.1.21-3.26.2
xpp3
SUSE:Manager Server Module 4.1
From an advisory covering 4 CVEs
before 1.1.4c-11.2.2
1.1.4c-11.2.2
xstream
SUSE:Manager Server Module 4.1
From an advisory covering 4 CVEs
before 1.4.15-3.5.2
1.4.15-3.5.2
libxstream-java
Ubuntu:Pro:14.04:LTS
before 1.4.7-1ubuntu0.1+esm2, plus listed versions
1.4.4-11.4.7-11.4.7-1ubuntu0.11.4.7-1ubuntu0.1+esm1
1.4.7-1ubuntu0.1+esm2
libxstream-java
Ubuntu:Pro:16.04:LTS
before 1.4.8-1ubuntu0.1+esm3, plus listed versions
1.4.8-11.4.8-1ubuntu0.11.4.8-1ubuntu0.1+esm11.4.8-1ubuntu0.1+esm2
1.4.8-1ubuntu0.1+esm3
libxstream-java
Ubuntu:18.04:LTS
before 1.4.11.1-1~18.04.1, plus listed versions
1.4.10-11.4.11.1-1~18.04
1.4.11.1-1~18.04.1
libxstream-java
Ubuntu:20.04:LTS
before 1.4.11.1-1ubuntu0.1, plus listed versions
1.4.11.1-1
1.4.11.1-1ubuntu0.1
libxstream-java
Ubuntu:18.04:LTS
From an advisory covering 3 CVEs
before 1.4.11.1-1~18.04.1, plus listed versions
1.4.10-11.4.11.1-1~18.04
1.4.11.1-1~18.04.1
libxstream-java
Ubuntu:20.04:LTS
From an advisory covering 3 CVEs
before 1.4.11.1-1ubuntu0.1, plus listed versions
1.4.11.1-1
1.4.11.1-1ubuntu0.1
libxstream-java
Ubuntu:18.04:LTS
From an advisory covering 14 CVEs
before 1.4.11.1-1~18.04.2, plus listed versions
1.4.10-11.4.11.1-1~18.041.4.11.1-1~18.04.1
1.4.11.1-1~18.04.2
libxstream-java
Ubuntu:20.04:LTS
From an advisory covering 14 CVEs
before 1.4.11.1-1ubuntu0.2, plus listed versions
1.4.11.1-11.4.11.1-1ubuntu0.1
1.4.11.1-1ubuntu0.2
libxstream-java
Ubuntu:Pro:14.04:LTS
From an advisory covering 15 CVEs
before 1.4.7-1ubuntu0.1+esm2, plus listed versions
1.4.4-11.4.7-11.4.7-1ubuntu0.11.4.7-1ubuntu0.1+esm1
1.4.7-1ubuntu0.1+esm2
libxstream-java
Ubuntu:Pro:16.04:LTS
From an advisory covering 15 CVEs
before 1.4.8-1ubuntu0.1+esm3, plus listed versions
1.4.8-11.4.8-1ubuntu0.11.4.8-1ubuntu0.1+esm11.4.8-1ubuntu0.1+esm2
1.4.8-1ubuntu0.1+esm3
xstream
openSUSE:Leap 15.2
From an advisory covering 3 CVEs
before 1.4.15-lp152.2.3.1
1.4.15-lp152.2.3.1
xstream
openSUSE:Tumbleweed
From an advisory covering 22 CVEs
before 1.4.18-1.1
1.4.18-1.1

Public exploits

Links only. Every CVE stores no exploit code.

Public exploits
SourceLinkDate
PoC in GitHubAl1ex/CVE-2020-262582021-01-22
PoC in GitHubcuijiung/xstream-CVE-2020-262582025-07-11
NucleiXStream <1.4.15 - Server-Side Request Forgery

History

History
RecordedChangedSources
affected, exploits, facts
first indexedCVE List, EUVD, GitHub Advisories, Nuclei, NVD, OSV, PoC in GitHub

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2020-26258 is a medium vulnerability (CVSS 6.3) in X-stream Xstream, published December 16, 2020. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 81.8%, the 99th percentile. Fixed in com.thoughtworks.xstream:xstream 1.4.15.

References

Show 87 moreShow less
This page doesn't list everything

Left out here: the rest of 1 source description. The JSON record has them.

MoveEnter Open