Red Hat Security Advisory: Red Hat Integration Camel-K 1.6 release and security update
🔗 CVE IDs covered (32)
📋 Description
CVE-2020-13936 — velocity: arbitrary code execution when attacker is able to modify templates CVE-2020-14326 — RESTEasy: Caching routes in RootNode may result in DoS CVE-2020-28491 — jackson-dataformat-cbor: Unchecked allocation of byte buffer can cause a java.lang.OutOfMemoryError exception CVE-2021-20328 — mongo-java-driver: client-side field level encryption not verifying KMS host name CVE-2021-21341 — XStream: allow a remote attacker to cause DoS only by manipulating the processed input stream CVE-2021-21342 — XStream: SSRF via crafted input stream CVE-2021-21343 — XStream: arbitrary file deletion on the local host via crafted input stream CVE-2021-21344 — XStream: Unsafe deserizaliation of javax.sql.rowset.BaseRowSet CVE-2021-21345 — XStream: Unsafe deserizaliation of com.sun.corba.se.impl.activation.ServerTableEntry CVE-2021-21346 — XStream: Unsafe deserizaliation of sun.swing.SwingLazyValue CVE-2021-21347 — XStream: Unsafe deserizaliation of com.sun.tools.javac.processing.JavacProcessingEnvironment NameProcessIterator CVE-2021-21348 — XStream: ReDoS vulnerability CVE-2021-21350 — XStream: Unsafe deserizaliation of com.sun.org.apache.bcel.internal.util.ClassLoader CVE-2021-21351 — XStream: allow a remote attacker to load and execute arbitrary code from a remote host only by manipulating the processed input stream CVE-2021-22118 — spring-web: (re)creating the temporary storage directory could result in a privilege escalation within WebFlux application CVE-2021-27568 — json-smart: uncaught exception may lead to crash or information disclosure CVE-2021-29505 — XStream: remote command execution attack by manipulating the processed input stream CVE-2021-31812 — pdfbox: infinite loop while loading a crafted PDF file CVE-2021-39139 — xstream: Arbitrary code execution via unsafe deserialization of Xalan xsltc.trax.TemplatesImpl CVE-2021-39140 — xstream: Infinite loop DoS via unsafe deserialization of sun.reflect.annotation.AnnotationInvocationHandler CVE-2021-39141 — xstream: Arbitrary code execution via unsafe deserialization of com.sun.xml.internal.ws.client.sei.* CVE-2021-39144 — xstream: Arbitrary code execution via unsafe deserialization of sun.tracing.* CVE-2021-39145 — xstream: Arbitrary code execution via unsafe deserialization of com.sun.jndi.ldap.LdapBindingEnumeration CVE-2021-39146 — xstream: Arbitrary code execution via unsafe deserialization of javax.swing.UIDefaults$ProxyLazyValue CVE-2021-39147 — xstream: Arbitrary code execution via unsafe deserialization of com.sun.jndi.ldap.LdapSearchEnumeration CVE-2021-39148 — xstream: Arbitrary code execution via unsafe deserialization of com.sun.jndi.toolkit.dir.ContextEnumerator CVE-2021-39149 — xstream: Arbitrary code execution via unsafe deserialization of com.sun.corba.* CVE-2021-39150 — xstream: Server-side request forgery (SSRF) via unsafe deserialization of com.sun.xml.internal.ws.client.sei.* CVE-2021-39151 — xstream: Arbitrary code execution via unsafe deserialization of com.sun.jndi.ldap.LdapBindingEnumeration CVE-2021-39152 — xstream: Server-side request forgery (SSRF) via unsafe deserialization of jdk.nashorn.internal.runtime.Source$URLData CVE-2021-39153 — xstream: Arbitrary code execution via unsafe deserialization of Xalan xsltc.trax.TemplatesImpl CVE-2021-39154 — xstream: Arbitrary code execution via unsafe deserialization of javax.swing.UIDefaults$ProxyLazyValue
🎯 Affected products1
- Red Hat Integration
✅ Remediation
Before applying this update, make sure all previously released errata relevant to your system have been applied. For details on how to apply this update, refer to: https://access.redhat.com/articles/11258 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.16 (this should also address some previous flaws found in 1.4.7 - > 1.4.15) ```java xstream.denyTypesByRegExp(new String[]{ ".*\\.Lazy(?:Search)?Enumeration.*", "(?:java|sun)\\.rmi\\..*" }); ``` Deny list for XStream 1.4.15 ```java xstream.denyTypes(new String[]{ "sun.awt.datatransfer.DataTransferer$IndexOrderComparator", "sun.swing.SwingLazyValue", "com.sun.corba.se.impl.activation.ServerTableEntry", "com.sun.tools.javac.processing.JavacProcessingEnvironment$NameProcessIterator" }); xstream.denyTypesByRegExp(new String[]{ ".*\\$ServiceNameIterator", "javafx\\.collections\\.ObservableList\\$.*", ".*\\.bcel\\..*\\.util\\.ClassLoader" }); xstream.denyTypeHierarchy(java.io.InputStream.class ); xstream.denyTypeHierarchy(java.nio.channels.Channel.class ); xstream.denyTypeHierarchy(javax.activation.DataSource.class ); xstream.denyTypeHierarchy(javax.sql.rowset.BaseRowSet.class ); ``` 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 (37)
- selfhttps://access.redhat.com/errata/RHSA-2021:4918
- externalhttps://access.redhat.com/security/updates/classification/#moderate
- externalhttps://access.redhat.com/jbossnetwork/restricted/listSoftware.html?downloadType=distributions&product=red.hat.integration&version=2021-Q4
- externalhttps://access.redhat.com/documentation/en-us/red_hat_integration/2021.q4
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=1855826
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=1930423
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=1934236
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=1937440
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=1939839
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=1942539
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=1942545
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=1942550
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=1942554
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=1942558
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=1942578
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=1942629
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=1942633
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=1942637
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=1942642
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=1966735
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=1971658
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=1974854
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=1997763
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=1997765
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=1997769
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=1997772
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=1997775
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=1997777
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=1997779
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=1997781
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=1997784
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=1997786
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=1997791
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=1997793
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=1997795
- externalhttps://bugzilla.redhat.com/show_bug.cgi?id=1997801
- selfhttps://security.access.redhat.com/data/csaf/v2/advisories/2021/rhsa-2021_4918.json