CVE-2020-26258
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.
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
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 Medium
CVSS: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 Medium
CVSS: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:
- Open an issue in XStream
- Contact us at XStream Google Group
- Record
GHSA-4cch-wxpw-8p28- CVSS 3.1
- 6.3 Medium
CVSS: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 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N - CVSS 3.1
- 7.7 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N - CVSS 2.0
- 5.0 Medium
AV: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 High
CVSS: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 High
CVSS: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:
- Open an issue in XStream
- Contact us at XStream Google Group
- Record
GHSA-4cch-wxpw-8p28- CVSS 3.1
- 6.3 Medium
CVSS: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 High
CVSS: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 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N - CVSS 3.1
- 6.3 Medium
CVSS: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
supportedto 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
| Package | Affected | Fixed |
|---|---|---|
com.thoughtworks.xstream:xstreamMaven |
before 1.4.15 | 1.4.15 |
libxstream-javaDebian:12 |
before 1.4.15-1 | 1.4.15-1 |
libxstream-javaDebian:13 |
before 1.4.15-1 | 1.4.15-1 |
libxstream-javaDebian:14 |
before 1.4.15-1 | 1.4.15-1 |
libxstream-javaDebian: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-javaDebian: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:xstreamMaven |
before 1.4.15, plus listed versions 0.10.20.30.50.6 Show 34 moreShow less1.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 |
xstreamopenEuler:20.03-LTS-SP1 From an advisory covering 2 CVEs |
before 1.4.11.1-3.oe1 | 1.4.11.1-3.oe1 |
xstreamSUSE: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-osadSUSE: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
| Package | Affected | Fixed |
|---|---|---|
rhnlibSUSE: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-backendSUSE: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-toolsSUSE: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-proxySUSE: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-installerSUSE: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-webSUSE:Manager Proxy Module 4.1 From an advisory covering 4 CVEs |
before 4.1.23-3.18.6 | 4.1.23-3.18.6 |
cobblerSUSE: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-formulaSUSE: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-libmodSUSE: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-osadSUSE: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-formulaSUSE: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-formulaSUSE: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-saltSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 2016.11.10-6.11.2 | 2016.11.10-6.11.2 |
rhnlibSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 4.1.3-4.3.2 | 4.1.3-4.3.2 |
smdbaSUSE: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-backendSUSE: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-toolsSUSE: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-configSUSE: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-javaSUSE: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-utilsSUSE: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-webSUSE: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-matcherSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 0.26-3.6.2 | 0.26-3.6.2 |
susemanagerSUSE: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-indexesSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 4.1-11.28.4 | 4.1-11.28.4 |
susemanager-docs_enSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 4.1-11.28.2 | 4.1-11.28.2 |
susemanager-schemaSUSE: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-slsSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 4.1.21-3.26.2 | 4.1.21-3.26.2 |
xpp3SUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 1.1.4c-11.2.2 | 1.1.4c-11.2.2 |
xstreamSUSE: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-javaUbuntu: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-javaUbuntu: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-javaUbuntu: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-javaUbuntu: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-javaUbuntu: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-javaUbuntu: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-javaUbuntu: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-javaUbuntu: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-javaUbuntu: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-javaUbuntu: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 |
xstreamopenSUSE:Leap 15.2 From an advisory covering 3 CVEs |
before 1.4.15-lp152.2.3.1 | 1.4.15-lp152.2.3.1 |
xstreamopenSUSE: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.
| Source | Link | Date |
|---|---|---|
| PoC in GitHub | Al1ex/CVE-2020-26258 | 2021-01-22 |
| PoC in GitHub | cuijiung/xstream-CVE-2020-26258 | 2025-07-11 |
| Nuclei | XStream <1.4.15 - Server-Side Request Forgery |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, exploits, facts | ||
| first indexed | CVE 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
github.com/x-stream/xstream/security/advisories/GHSA-4cch-wxpw-8p28
lists.apache.org/thread.html/r97993e3d78e1f5389b7b172ba9f308440830ce5f051ee62714a0aa34@%3Ccommits.struts.apache.org%3E
lists.debian.org/debian-lts-announce/2020/12/msg00042.html
lists.fedoraproject.org/archives/list/[email protected]/message/22KVR6B5IZP3BGQ3HPWIO2FWWCKT3DHP
lists.fedoraproject.org/archives/list/[email protected]/message/PVPHZA7VW2RRSDCOIPP2W6O5ND254TU7
lists.fedoraproject.org/archives/list/[email protected]/message/QGXIU3YDPG6OGTDHMBLAFN7BPBERXREB
Show 87 moreShow less
security.netapp.com/advisory/ntap-20210409-0005
debian.org/security/2021/dsa-4828
x-stream.github.io/CVE-2020-26258.html
lists.apache.org/thread.html/r97993e3d78e1f5389b7b172ba9f308440830ce5f051ee62714a0aa34%40%3Ccommits.struts.apache.org%3E
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/22KVR6B5IZP3BGQ3HPWIO2FWWCKT3DHP
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/QGXIU3YDPG6OGTDHMBLAFN7BPBERXREB
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/PVPHZA7VW2RRSDCOIPP2W6O5ND254TU7
nvd.nist.gov/vuln/detail/CVE-2020-26258
github.com/advisories/GHSA-4cch-wxpw-8p28
security-tracker.debian.org/tracker/CVE-2020-26258
github.com/x-stream/xstream
openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2021-1015
nvd.nist.gov/vuln/detail/CVE-2020-26259
suse.com/support/update/announcement/2021/suse-su-20210176-1
bugzilla.suse.com/1180145
bugzilla.suse.com/1180146
bugzilla.suse.com/1180994
suse.com/security/cve/CVE-2020-26217
suse.com/security/cve/CVE-2020-26258
suse.com/security/cve/CVE-2020-26259
suse.com/support/update/announcement/2021/suse-su-20210906-1
bugzilla.suse.com/1157711
bugzilla.suse.com/1173893
bugzilla.suse.com/1175660
bugzilla.suse.com/1177508
bugzilla.suse.com/1179579
bugzilla.suse.com/1180224
bugzilla.suse.com/1180439
bugzilla.suse.com/1180547
bugzilla.suse.com/1180558
bugzilla.suse.com/1180757
bugzilla.suse.com/1181048
bugzilla.suse.com/1181165
bugzilla.suse.com/1181228
bugzilla.suse.com/1181290
bugzilla.suse.com/1181416
bugzilla.suse.com/1181423
bugzilla.suse.com/1181635
bugzilla.suse.com/1181807
bugzilla.suse.com/1181814
bugzilla.suse.com/1182001
bugzilla.suse.com/1182006
bugzilla.suse.com/1182008
bugzilla.suse.com/1182071
bugzilla.suse.com/1182200
bugzilla.suse.com/1182492
bugzilla.suse.com/1182685
suse.com/security/cve/CVE-2020-28477
ubuntu.com/security/CVE-2020-26258
ubuntu.com/security/notices/USN-4714-1
ubuntu.com/security/notices/USN-4943-1
cve.org/CVERecord?id=CVE-2020-26258
ubuntu.com/security/notices/USN-6978-1
ubuntu.com/security/CVE-2020-26217
ubuntu.com/security/CVE-2020-26259
ubuntu.com/security/CVE-2021-21341
ubuntu.com/security/CVE-2021-21342
ubuntu.com/security/CVE-2021-21343
ubuntu.com/security/CVE-2021-21344
ubuntu.com/security/CVE-2021-21345
ubuntu.com/security/CVE-2021-21346
ubuntu.com/security/CVE-2021-21347
ubuntu.com/security/CVE-2021-21348
ubuntu.com/security/CVE-2021-21349
ubuntu.com/security/CVE-2021-21350
ubuntu.com/security/CVE-2021-21351
ubuntu.com/security/CVE-2016-3674
lists.opensuse.org/archives/list/[email protected]/thread/CTO6QRFLVKVHOYBP6VLJP4KZXZFZSKET
suse.com/security/cve/CVE-2016-3674
suse.com/security/cve/CVE-2017-7957
suse.com/security/cve/CVE-2021-21341
suse.com/security/cve/CVE-2021-21342
suse.com/security/cve/CVE-2021-21343
suse.com/security/cve/CVE-2021-21344
suse.com/security/cve/CVE-2021-21345
suse.com/security/cve/CVE-2021-21346
suse.com/security/cve/CVE-2021-21347
suse.com/security/cve/CVE-2021-21348
suse.com/security/cve/CVE-2021-21349
suse.com/security/cve/CVE-2021-21350
suse.com/security/cve/CVE-2021-21351
suse.com/security/cve/CVE-2021-29505
suse.com/security/cve/CVE-2021-39139
suse.com/security/cve/CVE-2021-39144
suse.com/security/cve/CVE-2021-39147
suse.com/security/cve/CVE-2021-39150
suse.com/security/cve/CVE-2021-39153
Left out here: the rest of 1 source description. The JSON record has them.