cbcvebase.
CVE-2020-26258
published 2020-12-16

CVE-2020-26258: 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…

PriorityP276high7.7CVSS 3.1
AVNACLPRLUINSCCHINAN
EXPLOIT
EPSS
82.24%
99.6th percentile
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.

Affected

9 ranges
VendorProductVersion rangeFixed in
apachestruts< 6.0.06.0.0
debiandebian_linux
debiandebian_linux
debianlibxstream-java< libxstream-java 1.4.15-1 (bookworm)libxstream-java 1.4.15-1 (bookworm)
fedoraprojectfedora
fedoraprojectfedora
fedoraprojectfedora
x-streamxstream< 1.4.151.4.15
xstreamxstream< 1.4.151.4.15

Detection & IOCsextracted from sources · hover to see the quote

other.*\.ReadAllStream\$FileStream
otherjdk.nashorn.internal.objects.NativeString
otherjavax.imageio.ImageIO$ContainsFilter
other.*\$LazyIterator
otherjavax\.crypto\..*
  • Nuclei template detects SSRF exploitation by monitoring for outbound HTTP callbacks with a Java User-Agent, triggered by a crafted XStream XML payload containing an internal URL reference sent during unmarshalling.
  • The SSRF payload embeds an internal resource URL inside the XStream-serialized XML stream to trigger server-side forgery during unmarshalling.
  • Detect unmarshalling of the type `jdk.nashorn.internal.objects.NativeString` in XStream XML input as an indicator of exploitation attempt for this CVE.
  • Detect unmarshalling of types matching `.*\.ReadAllStream\$FileStream` pattern in XStream XML input as an indicator of exploitation.
  • ·The vulnerability does not exist when running Java 15 or higher; detection/blocking efforts are only relevant for Java 14 and below.
  • ·Users who have configured XStream's Security Framework with a whitelist are not affected; the SSRF vector only applies to deployments relying on XStream's default blacklist.
  • ·OpenShift Container Platform jenkins package is not affected due to JEP-200 and SECURITY-383 mitigations already in place.

CVSS provenance

nvdv3.17.7HIGHCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
nvdv2.05.0MEDIUMAV:N/AC:L/Au:N/C:P/I:N/A:N
osv8.8HIGH
vendor_redhat8.8HIGH
vendor_ubuntu8.0HIGH
vendor_debian6.3MEDIUM
CVEs like this are exactly what “Exploited This Week” covers.

Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.