<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=1127487224079104&amp;ev=PageView&amp;noscript=1 https://www.facebook.com/tr?id=1127487224079104&amp;ev=PageView&amp;noscript=1 ">

Sonatype & HackerOne Team Up to Make Open Source Safer Press Release

Welcome to Nexus Intelligence Insights!

NEW! Sonatype has launched the Central Security Project. The Central Security Project is a partnership between Sonatype and HackerOne. By bringing Sonatype's superior data research capabilities together with HackerOne's unique reporting platform, we are simplifying the vulnerability reporting process and allowing developers and security researchers to resolve issues faster than ever.  

For February, we will be covering a component that is a little older, but probably to the surprise of many, very widely used across a variety of ecosystems. Considering the type of vulnerability the attack vector leverages, use of this component could be catastrophic.

Introducing CVE-2014-3603, and the absence of hostname authentication when using OpenSAML.

Click on the CVE number or name in the list below to learn more about these vulnerabilities, and what you can do if you're using this component in your code.

CVE-2014-3603
CVE-2017-5662
TYPE

Denial of Service

Description

Apache Batik manipulation that allows a bad actor to create malformed XML in an SVG file in order to create a DoS attack on the server.

Components Affected

Apache Batik

Sonatype Recommendation

Upgrade to Batik version 2.2, where this vulnerability has been fixed.

event-stream package
TYPE

Embedded malicious code

Description

npm event-stream

Components Affected

event-stream 0.1.1

Sonatype Recommendation

The news about the event-stream compromise is the latest proof that bad actors are intentionally tainting open source components at the very beginning of the software supply chain so they can efficiently attack production applications in the wild, at the very end of the software supply chain.

CVE-2017-5647
TYPE

Information exposure

Description

Apache Tomcat is vulnerable to Information Disclosure, as it sends the response of a "send file" request (request "A") in response to another request (request "B") that is in the pipeline when the processing of the previous request is completed. An attacker can exploit this vulnerability by sending a request to the targeted system while other requests are being processed. This could allow the attacker to gain sensitive information due to the incorrect response sent when processing of a previous request has completed.

For example:

  1. Normal user sends a request (**Request A**)
  2. Tomcat responds to Request A (**Response A**)
  3. Attacker sends a request (**Request B**)
  4. Due to this vulnerability, Tomcat responds to **Request B** with **Response A**
Components Affected

org.apache.tomcat: tomcat-coyote, coyote

org.apache.tomcat.embed: tomcat-embed-core

org.apache.geronimo.ext.tomcat: Catalina

tomcat:tomcat-http

tomcat:tomcat-http11

tomcat:tomcat-util

org.jboss.web: jbossweb jboss.web:jbossweb

Sonatype Recommendation

Recommend upgrading to a component version not impacted by this vulnerability.

CVE-2018-10237
TYPE

Unbounded Memory Allocation/Denial of Service attack

Description

Java serialization issues have been around for years, but haven’t really garnered much attention until recently when it became clear that attackers could use vulnerable classes to perform deserialization on untrusted data. Particularly, if the deserialization occurs pre-authentication. Java's type check will ensure you only get valid object trees by strictly validating the expected type. Unfortunately, by the time the type checking completes, compromised platform code could be created and execute significant logic.

By tampering with the request and supplying a request for an abnormally large amount of server memory, the request could overwhelm the server and lead to a denial of service.

Components Affected

Google Guava 11.0 through 24.x before 24.1.1.

Sonatype Recommendation

Set a limit on the size of the object graph that servers will accept. For Java, narrow the classes that can be deserialized from “any class available” to an application, down to a context-appropriate set of classes.