Red Hat Security Advisory: Red Hat Data Grid 8.1.1 security update
🔗 CVE IDs covered (3)
📋 Description
CVE-2020-25644 — wildfly-openssl: memory leak per HTTP session creation in WildFly OpenSSL CVE-2020-25711 — infinispan: authorization check missing for server management operations CVE-2020-26217 — XStream: remote code execution due to insecure XML deserialization when relying on blocklists
🎯 Affected products1
- Red Hat Data Grid 8.1.1
✅ Remediation
Refer to the Data Grid 8.1 Upgrade Guide for instructions on upgrading to this version. The References section of this erratum contains a download link (you must log in to download the update). Workaround: There is currently no known mitigation for this issue. Workaround: Depending on the version of XStream used there are various usage patterns that mitigate this flaw, though we would strongly recommend using the allow list approach if at all possible as there are likely more class combinations the deny list approach may not address. Allow list approach ```java XStream xstream = new XStream(); XStream.setupDefaultSecurity(xstream); xstream.allowTypesByWildcard(new String[] {"com.misc.classname"}) ``` Deny list for XStream 1.4.13 ```java xstream.denyTypes(new String[]{ "javax.imageio.ImageIO$ContainsFilter" }); xstream.denyTypes(new Class[]{ java.lang.ProcessBuilder.class }); ``` Deny list for XStream 1.4.7 -> 1.4.12 ```java xstream.denyTypes(new String[]{ "javax.imageio.ImageIO$ContainsFilter" }); xstream.denyTypes(new Class[]{ java.lang.ProcessBuilder.class, java.beans.EventHandler.class, java.lang.ProcessBuilder.class, java.lang.Void.class, void.class }); ``` Deny list for versions prior to XStream 1.4.7 ```java xstream.registerConverter(new Converter() { public boolean canConvert(Class type) { return type != null && (type == java.beans.EventHandler.class || type == java.lang.ProcessBuilder.class || type == java.lang.Void.class || void.class || type.getName().equals("javax.imageio.ImageIO$ContainsFilter") || Proxy.isProxy(type)); } 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); ```
🔗 References (8)
- selfhttps://access.redhat.com/errata/RHSA-2021:0433
- externalhttps://access.redhat.com/security/updates/classification/#moderate
- externalhttps://access.redhat.com/jbossnetwork/restricted/listSoftware.html?product=data.grid&downloadType=securityPatches&version=8.1
- externalhttps://access.redhat.com/documentation/en-us/red_hat_data_grid/8.1/html/upgrading_data_grid/
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=1885485
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=1897618
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=1898907
- selfhttps://security.access.redhat.com/data/csaf/v2/advisories/2021/rhsa-2021_0433.json