CVE-2020-26259
Public on
Last Modified:
Description
The MITRE CVE dictionary describes this issue as
Statement
OpenShift Container Platform (OCP) delivers jenkins package with bundled XStream library. Due to JEP-200 Jenkins project [1] and advisory SECURITY-383 [2], OCP jenkins package is not affected by this flaw.
[1] Content from github.com is not included.https://github.com/jenkinsci/jep/blob/master/jep/200/README.adoc [2] Content from www.jenkins.io is not included.https://www.jenkins.io/security/advisory/2017-02-01/ (see SECURITY-383 / CVE-2017-2608)
Mitigation
As recommended, use XStream's security framework to implement a whitelist for the allowed types.
Users of XStream 1.4.14 who insist to use XStream default blacklist - despite that clear recommendation - 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.13 who want to use XStream default blacklist 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 blacklist 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, 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, 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);
Additional Information
- This content is not included.Bugzilla 1908837: XStream: arbitrary file deletion on the local host when unmarshalling
- Content from cwe.mitre.org is not included.CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')
- FAQ: Frequently asked questions about CVE-2020-26259
- Offline Security Data data is available for integration with other systems. See Offline Security Data API to get started.
External References
Content from www.cve.org is not included.https://www.cve.org/CVERecord?id=CVE-2020-26259
Content from nvd.nist.gov is not included.https://nvd.nist.gov/vuln/detail/CVE-2020-26259
Affected Packages and Issued Red Hat Security Errata
| Products / Services | Components | State | Errata |
|---|---|---|---|
| RHDM 7.11.0 | xstream | Fixed | RHSA-2021:2476 |
| RHPAM 7.11.0 | xstream | Fixed | RHSA-2021:2475 |
| Red Hat BPM Suite 6 | xstream | Out of support scope | |
| Red Hat Data Grid 8.2.0 | xstream | Fixed | RHSA-2021:2139 |
| Red Hat Enterprise Linux 7 | xstream | Out of support scope | |
| Red Hat Fuse 7.10 | xstream | Fixed | RHSA-2021:5134 |
| Red Hat Integration | Fixed | RHSA-2021:3205 | |
| Red Hat Integration Camel K 1 | xstream | Affected | |
| Red Hat Integration Camel Quarkus 1 | xstream | Affected | |
| Red Hat Integration Camel Quarkus 1 | Fixed | RHSA-2021:4767 | |
| Red Hat JBoss A-MQ 6 | xstream | Out of support scope | |
| Red Hat JBoss BRMS 6 | xstream | Out of support scope | |
| Red Hat JBoss Data Grid 7 | xstream | Out of support scope | |
| Red Hat JBoss Data Virtualization 6 | xstream | Out of support scope | |
| Red Hat JBoss Fuse 6 | xstream | Out of support scope | |
| Red Hat JBoss Fuse Service Works 6 | xstream | Out of support scope | |
| Red Hat JBoss SOA Platform 5 | xstream | Out of support scope | |
| Red Hat OpenShift Container Platform 3.11 | jenkins | Not affected | |
| Red Hat OpenShift Container Platform 4 | jenkins | Not affected |
Common Vulnerability Scoring System (CVSS) Score Details
Important note
CVSS scores for open source components depend on vendor-specific factors (e.g. version or build chain). Therefore, Red Hat's score and impact rating can be different from NVD and other vendors. Red Hat remains the authoritative CVE Naming Authorities (CNA) source for its products and services (see Red Hat classifications ).
| CVSS v3 Score Breakdown | Red Hat | NVD |
|---|---|---|
| CVSS v3 Base Score | 6.8 | 6.8 |
| Attack Vector | Network | Network |
| Attack Complexity | High | High |
| Privileges Required | None | None |
| User Interaction | None | None |
| Scope | Changed | Changed |
| Confidentiality Impact | None | None |
| Integrity Impact | High | High |
| Availability Impact | None | None |
CVSS v3 Vector
Red Hat CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:H/A:N
NVD CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:H/A:N
Frequently Asked Questions
Why is Red Hat's CVSS v3 score or Impact different from other vendors?
For more information, see https://access.redhat.com/solutions/762393.
My product is listed as "Under investigation" or "Affected", when will Red Hat release a fix for this vulnerability?
- "Under investigation" doesn't necessarily mean that the product is affected by this vulnerability. It only means that our Analysis Team is still working on determining whether the product is affected and how it is affected.
- "Affected" means that our Analysis Team has determined that this product is affected by this vulnerability and might release a fix to address this in the near future.
What can I do if my product is listed as "Will not fix"?
Available options depend mostly on the Impact of the vulnerability and the current Life Cycle phase of your product. Overall, you have the following options:
- Upgrade to a supported product version that includes a fix for this vulnerability (recommended).
- Apply a mitigation (if one exists).
- Open a This content is not included.support case to request a prioritization of releasing a fix for this vulnerability.
What can I do if my product is listed as "Fix deferred"?
Available options depend mostly on the Impact of the vulnerability and the current Life Cycle phase of your product. Overall, you have the following options:
- Apply a mitigation (if one exists).
- Open a This content is not included.support case to request a prioritization of releasing a fix for this vulnerability.
- Red Hat Engineering focuses on addressing high-priority issues based on their complexity or limited lifecycle support. Therefore, lower-priority issues will not receive immediate fixes.
What is a mitigation?
I have a Red Hat product but it is not in the above list, is it affected?
Why is my security scanner reporting my product as vulnerable to this vulnerability even though my product version is fixed or not affected?
My product is listed as "Out of Support Scope". What does this mean?
Not sure what something means? Check out our Security Glossary.