← Vulnerability feed

Vulnerability record · CVE-2020-26259 · published 16 December 2020

CVE-2020-26259: XStream unmarshalling allows arbitrary local file deletion

Apache · Struts

XStream before 1.4.15 fails to block arbitrary file deletion on the local host when unmarshalling untrusted XML. A remote attacker who controls the processed input stream can delete known files on the host, limited only by the privileges of the executing process. The flaw does not affect Java 15 or higher, and deployments using XStream's Security Framework whitelist are not affected.

6.8 CVSS 3.1 Medium EPSS 82% · top 0.3% CWE-78 · OS command injection
6.8CVSS 3.1 base score, v2 6.4
82%EPSS exploitation probability, 30 days
NoNot in CISA KEV
4Affected product versions listed by NVD
18References, 2 tagged exploit
17 Jun 2026Last modified by NVD

Description

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.

CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:H/A:N

Automated analysis

Generated by VULONE's analysis model from the NVD record, CISA KEV and EPSS data on 18 September 2026. Confidence: high.

high priorityThe flaw allows remote, unauthenticated file deletion with a very high EPSS score and public exploit material, though it is not in KEV and requires high attack complexity.

What it is

XStream before 1.4.15 fails to block arbitrary file deletion on the local host when unmarshalling untrusted XML. A remote attacker who controls the processed input stream can delete known files on the host, limited only by the privileges of the executing process. The flaw does not affect Java 15 or higher, and deployments using XStream's Security Framework whitelist are not affected.

Impact

An attacker gains the ability to delete arbitrary known files on the host, which can cause data loss, denial of service, or removal of security-relevant files. The CVSS vector rates integrity impact High with no confidentiality or availability impact recorded, though file deletion can indirectly degrade availability.

Attack surface

Reached remotely over the network by supplying a crafted XML stream to an application that unmarshals it with XStream; no authentication or user interaction is required per the CVSS vector (AV:N/PR:N/UI:N). The attack requires conditions the vector rates as High complexity (AC:H).

Exploitation

Not listed in CISA KEV and no ransomware associations are documented, but EPSS is very high at 0.824 (99.6th percentile), and the vendor advisory reference is tagged Exploit, indicating public exploit material exists.

What to do

  • Upgrade XStream to 1.4.15 or later, which fixes the default blacklist behavior.
  • If upgrade is not possible, switch from the default blacklist to a Security Framework whitelist of allowed types.
  • Apply the workaround described in the vendor advisory for users of 1.4.14 and below who must keep the default blacklist.
  • Apply vendor patches for bundled copies, including Apache Struts, Debian and Fedora packages.
  • Do not unmarshal untrusted XML with XStream; treat all incoming serialized data as hostile.

Detection

  • Monitor application logs and file system audit trails for unexpected deletion of known files by Java processes using XStream.
  • Alert on XStream unmarshalling of XML from untrusted or external sources, especially where the default blacklist is in use.
  • Inventory applications and dependencies for XStream versions below 1.4.15, including copies bundled in Struts and Linux distribution packages.
  • Watch for XML payloads containing XStream class references or converter elements associated with file operations.

This assessment is produced automatically and is not human-reviewed. Verify against the vendor advisory before acting on it.

Affected products

4 vulnerable configurations from NVD's CPE data, grouped by vendor and product.

References

LinkTags
https://github.com/x-stream/xstream/security/advisories/GHSA-jfvx-7wrx-43fh MitigationThird Party Advisory
https://lists.apache.org/thread.html/r97993e3d78e1f5389b7b172ba9f308440830ce5f051ee62714a0aa34%40%3Ccommits.struts.apach Issue TrackingMailing List
https://lists.debian.org/debian-lts-announce/2020/12/msg00042.html Mailing ListThird Party Advisory
https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/22KVR6B5IZP3BGQ3HPWIO2F Mailing List
https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/PVPHZA7VW2RRSDCOIPP2W6O Mailing List
https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/QGXIU3YDPG6OGTDHMBLAFN7 Mailing List
https://security.netapp.com/advisory/ntap-20210409-0005/ Third Party Advisory
https://www.debian.org/security/2021/dsa-4828 Third Party Advisory
https://x-stream.github.io/CVE-2020-26259.html ExploitMitigationThird Party Advisory
https://github.com/x-stream/xstream/security/advisories/GHSA-jfvx-7wrx-43fh MitigationThird Party Advisory
https://lists.apache.org/thread.html/r97993e3d78e1f5389b7b172ba9f308440830ce5f051ee62714a0aa34%40%3Ccommits.struts.apach Issue TrackingMailing List
https://lists.debian.org/debian-lts-announce/2020/12/msg00042.html Mailing ListThird Party Advisory
https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/22KVR6B5IZP3BGQ3HPWIO2F Mailing List
https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/PVPHZA7VW2RRSDCOIPP2W6O Mailing List
https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/QGXIU3YDPG6OGTDHMBLAFN7 Mailing List
https://security.netapp.com/advisory/ntap-20210409-0005/ Third Party Advisory
https://www.debian.org/security/2021/dsa-4828 Third Party Advisory
https://x-stream.github.io/CVE-2020-26259.html ExploitMitigationThird Party Advisory

Track CVE-2020-26259 inside VULONE

Watch it alongside the ransomware crews, C2 infrastructure and forum chatter that reference it, query it through the API and pull it into your SIEM over TAXII.

Start free Open in platform

Related vulnerabilities

Same products first, then exploited flaws of the same weakness class.

10.0CVE-2025-32433Erlang/OTP SSH server missing authentication allows remote code executionErlang/OTP SSH servers before OTP-27.3.3, OTP-26.2.5.11 and OTP-25.3.2.20 mishandle SSH protocol messages, letting an unauthenticated attacker execut…KEVEPSS 99%analysed10.0CVE-2025-24201Apple WebKit out-of-bounds write allows sandbox escapeCVE-2025-24201 is an out-of-bounds write in Apple's WebKit that was addressed with improved checks. Maliciously crafted web content may break out of …KEVEPSS 3.8%analysed10.0CVE-2021-44228Apache Log4j2 JNDI lookup remote code executionApache Log4j2 versions 2.0-beta9 through 2.15.0 (excluding 2.12.2, 2.12.3, and 2.3.1) do not protect against attacker-controlled LDAP and other JNDI …KEVEPSS 100%analysed9.8CVE-2026-24061GNU Inetutils telnetd argument injection allows remote auth bypasstelnetd in GNU Inetutils through 2.7 fails to sanitize the USER environment variable, so a value such as "-f root" is passed as an argument to login …KEVEPSS 99%analysed9.8CVE-2025-39682Linux kernel TLS zero-length record handling flaw on rx_listThe Linux kernel TLS receive path mishandles zero-length records that arrive from the rx_list, breaking the assumption that a record type change cann…KEVEPSS 2.9%analysed9.8CVE-2025-24813Apache Tomcat Default Servlet path equivalence enables RCE and file disclosureApache Tomcat mishandles path equivalence for names containing an internal dot, letting a remote unauthenticated attacker write files through the Def…KEVEPSS 100%analysed9.8CVE-2024-9680Mozilla Firefox and Thunderbird use-after-free in Animation timelinesA use-after-free flaw in Animation timelines allows an attacker to execute code in the content process of Firefox and Thunderbird. Mozilla reports ex…KEVEPSS 23%analysed9.8CVE-2024-4577PHP-CGI on Windows argument injection leads to remote code executionPHP-CGI on Windows can misinterpret characters in the command line passed to Win32 API functions when certain code pages are configured, due to Windo…KEVEPSS 100%analysed

Source: NIST National Vulnerability Database (record CVE-2020-26259), CISA KEV, FIRST EPSS (scores of 2026-09-26). This page is refreshed as NVD updates the record.