Home Java Top 10 Open Source Vulnerabilities In 2020

Top 10 Open Source Vulnerabilities In 2020

23 min read

If 2020 taught us something, it’s to count on the sudden. Whereas there don’t appear to be sufficient phrases to cowl the modifications that all of us did our greatest to regulate to, we’re very happy to present you our rundown of the highest 10 open supply vulnerabilities in 2020. 

Distant or not, our gifted and hard-working Information Group combed by way of the WhiteSource vulnerabilities database to search out all the new open supply vulnerabilities revealed in 2020 to offer you the freshest information on safety points within the open supply tasks all of us use. The WhiteSource database repeatedly collects info from dozens of sources together with the NVD, safety advisories, and open supply challenge concern trackers, to make sure probably the most complete open supply vulnerabilities protection potential. 

This 12 months’s high ten checklist contains among the hottest open supply tasks on the market, used for quite a lot of purposes and platforms all through the SDLC. The WhiteSource database contains tens of millions of weak information and packages, some listed with a CVE prefix, and different with a WS prefix when the difficulty is but to be added to the CVE index. 

So right here they’re, our checklist of the highest ten new open supply safety vulnerabilities revealed in 2020.

#1 Lodash

Lodash logo


CVSS: 7.4 Excessive

Affected variations: earlier than 4.17.2

A prototype air pollution safety concern was present in weak variations of Lodash, when utilizing _.zipObjectDeep. In line with the unique report on HackerOne, the vulnerability might be exploited by an attacker to inject properties on Object.prototype. This might end result within the disclosure of delicate info, addition or modification of knowledge, or Denial of Service (DoS). The HackerOne report supplied these steps to breed: 

Craft an object by “zipObjectDeep” perform of lodash

Lodash is a JavaScript utility library that guarantees to ship “modularity, efficiency, and extras.” Lodash documentation proudly states that Lodash makes JavaScript simpler to deal with by simplifying work with arrays, numbers, objects, strings, and extra. That’s in all probability why so many builders love to make use of this open supply library for iterating arrays, objects, and strings; manipulating and testing values; and creating composite features. 

You may be taught extra in regards to the concern on the GitHub concern web page, the NetApp advisory, and the NVD.  

#2 FasterXML jackson-databind

jackson-databind logo


CVSS: 8.1 Excessive

Affected variations: 2.x earlier than

Weak variations of FasterXML jackson-databind mishandle the interplay between serialization devices and typing, associated to br.com.anteros.dbcp.AnterosDBCPDataSource (aka Anteros-DBCP).

Serialization is a well-liked observe for Java builders, and over the previous few years many serialization points have been reported in Java serialization frameworks and libraries. In line with @cowtowncoder, a prolific open supply developer who is probably greatest identified for the JSON library, “serialization devices” might carry out malicious operations as unwanted side effects, opening the door to assaults like distant code execution, denial of service, or publicity of delicate knowledge. Whereas one of these exploit has the potential of wreaking havoc, @cowtowncode additionally makes it clear that these kind of assaults are usually not that simple to execute and require many stipulations. 

The much-beloved JSON parser for Java, jackson-databind has been a favourite for years due to the best way it interprets between the favored knowledge alternate converter JSON and Java. When builders wish to run an API and maintain the lights on for customers, jackson-databind is commonly their go-to. 

Should you, too, are a Java head, it’s greatest you be sure that your jackson-databind model is up-to-date. You may learn extra about this concern right here, right here, and right here. 

#3 HtmlUnit

HtmlUnit logo


CVSS: 8.1 Excessive

Affected variations: previous to 2.37.0

Code execution points have been found in weak variations of HtmlUnit. In line with the NVD, when HtmlUnit initializes the Rhino engine improperly, a malicious JavaScript code can execute arbitrary Java code on the appliance. When embedded within the Android software, since Android-specific initialization of the Rhino engine just isn’t carried out correctly, a malicious JavaScript code can execute arbitrary Java code on the appliance.

In line with their documentation, HtmlUnit is a “GUI-Much less browser for Java packages”, that additionally helps JavaScript and AJAX libraries. It fashions HTML paperwork and offers an API that enables customers to invoke pages, fill out varieties, click on hyperlinks, and extra. This open supply challenge is often used for testing functions or to retrieve info from websites. 

A hard and fast model is on the market on GitHub, and you’ll learn extra in regards to the concern and its repair right here, and right here. 

#4 Handlebars

Handlebars logo

CVSS: 8.1 Excessive

Affected variations: earlier than 3.0.8 and 4.x earlier than 4.5.3 

In line with the npm safety advisory, an arbitrary code execution safety concern was present in weak variations of Handlebars. The advisory explains that the bundle’s lookup helper doesn’t correctly validate templates, which permits malicious gamers to submit templates that execute arbitrary JavaScript within the system. This vulnerability can be utilized to run arbitrary code in a server processing Handlebars templates or on a sufferer’s browser (successfully serving as Cross-Website Scripting). The vulnerability is a results of an incomplete repair for a earlier concern. 

Handlebars, an extension to the Mustache templating language, is a “logicless templating language that retains the view and the code separated from each other” for a better expertise. Presently boasting over seven million weekly downloads from npm, it’s a particularly well-liked open supply challenge, supported and maintained by a hard-working group that may be counted on to swiftly report and remediate any points which can be discovered.  

#5 http-proxy

http-proxy logo


Affected variations: previous to 1.18.1

As we reported again in June, some variations of http-proxy are weak to Denial of Service. An HTTP request with a protracted physique triggers an ERR_HTTP_HEADERS_SENT unhandled exception that crashes the proxy server. That is solely potential when the proxy server units headers within the proxy request utilizing the proxyReq.setHeader perform.

Http-proxy is an HTTP programmable proxying library that helps websockets and helps to implement elements like reverse proxies and cargo balancers. It’s a particularly well-liked open supply library, at the moment boasting almost 12 million weekly npm downloads, and supporting over 2,000 dependents. Contemplating these stats, there’s a great likelihood you might be straight or not directly utilizing http-proxy, and it’s time to just be sure you are utilizing an up to date model. 

The excellent news is that this concern has been fastened in 1.18.1. You may be taught extra in regards to the repair within the pull request on GitHub. 

This vulnerability’s ID begins with a WS relatively than the extra frequent CVE prefix, because the concern is but to be listed within the CVE but. Whereas many see the CVE and NVD as the one assets for details about safety vulnerabilities, some points are first revealed elsewhere. Because of the decentralized nature of the open supply group, open supply vulnerabilities are sometimes revealed in an advisory, discussion board, or concern tracker earlier than being listed within the CVE. These points are added to the WhiteSource database with a WS prefix. 

When managing open supply vulnerabilities, It’s essential to needless to say relying solely on the CVE or NVD just isn’t sufficient to totally cowl all the open supply vulnerabilities in your code. 

#6 decompress

decompress logo


CVSS: 9.8 Important

Affected variations: previous to 4.2.1

In line with the npm safety advisory, affected variations of decompress are weak to Arbitrary File Write. Malicious gamers might write to any folder within the system by together with filenames containing../ as a result of the bundle doesn’t stop extraction of information with relative paths. 

decompress is an open supply challenge that makes extracting archives simple. That is an instance of how a vulnerability in a comparatively small challenge, utilized by many to carry out a easy job, could cause huge injury to customers when left un-remediated. Initiatives like decompress make coding simpler for us, however so simple as the duties they carry out could also be, they can’t be missed on the subject of open supply vulnerabilities administration. 

To be able to remediate this concern, the advisory recommends updating to model 4.2.1 or later. You may learn extra about this concern and its repair on GitHub. 

#7 XStream

 XStream logo


CVSS: 8.8 Excessive

Affected model: earlier than 1.4.14

A distant code execution concern was found in weak variations of XStream. The XStream concern web page explains: “The processed stream at unmarshalling time accommodates kind info to recreate the previously written objects. XStream creates due to this fact new situations primarily based on these kind info. An attacker can manipulate the processed enter stream and change or inject objects, that may execute arbitrary shell instructions.”

The GitHub Safety Advisory recommends that customers that depend on XStreams default blacklist of the safety framework replace to model 1.4.14 or over. Customers that adopted the advice to arrange XStream’s Safety Framework with a whitelist, are usually not affected. 

XStream is an open supply library that performs Java to XML serialization, and again once more. Documentation lists transport, persistence, configuration, and unit exams as typical makes use of. Because it’s a highly regarded library utilized by many massive open supply Java net purposes, it is crucial to just be sure you are updating your variations and following advisory suggestions. 

You may be taught extra in regards to the repair on GitHub. 

#8 Netty

8 Netty logo


CVSS: 9.8 Important

Affected variations: 4.1.x earlier than 4.1.46

The ZlibDecoders weak Netty variations permit unbounded reminiscence allocation whereas decoding a ZlibEncoded byte stream. A malicious participant might exploit this safety vulnerability to ship a big ZlibEncoded byte stream to the Netty server, forcing the server to allocate all of its free reminiscence to a single decoder.

Netty is an asynchronous event-driven community software framework designed for fast-paced improvement of maintainable high-performance protocol servers & shoppers. In line with the challenge’s documentation, this NIO shopper/server framework helps to simplify and streamline community programming like TCP and UDP socket server. 

Learn extra about this concern and its repair on GitHub, right here, right here, and right here. 

#9 Spring Framework

Spring Framework logo


CVSS: 7.5 Excessive

Affected variations: 5.2.x prior to five.2.3, variations 5.1.x prior to five.1.13, and variations 5.0.x prior to five.0.16

In affected variations of the Spring Framework, an software is weak to a mirrored file obtain (RFD) assault when it units a “Content material-Disposition” header within the response the place the filename attribute is derived enter equipped by the person. 

Should you’ve been utilizing Java, you’ve most likely come throughout Spring. It’s a extensively well-liked Java software improvement framework, due to how modular and light-weight it’s, permitting builders to simply create highly effective purposes. It’s well-known for its inversion of the management design precept which contains layering, a light-weight container, and the flexibility to program on an interface.

You may learn extra in regards to the concern right here.  

#10 PyYAML

Python logo


CVSS: 9.8 Important

Affected variations: earlier than 5.3.1

Weak variations of the PyYAML library are prone to arbitrary code execution when untrusted YAML information are processed by way of the full_load methodology or with the FullLoader loader. An attacker might exploit this vulnerability to execute arbitrary code on the system by abusing the python/object/new constructor.

PyYAML is a particularly well-liked YAML parser and emitter for Python. Contemplating Python’s repeatedly growing recognition over the previous few years, it’s greatest to just be sure you’re utilizing an up to date model of PyYAML. 

You may be taught extra about this concern and its repair right here, and right here. 

New Yr’s Decision: Handle Your Open Supply Safety The DevSecOps Means

All of us rely closely on open supply and third-party elements that assist us to develop and ship progressive software program merchandise at scale and pace. Though software safety has turn into a high concern for stakeholders, many groups sadly nonetheless view safety as a heavy time-consuming job that slows them down. 

We’re right here to remind you that open supply safety is essential to software safety, and that opposite to well-liked perception, it doesn’t must hinder speedy improvement. DevSecOps instruments may help us combine automated testing early and sometimes within the DevOps pipeline, to make sure the open supply elements you depend on are safe and up-to-date with out compromising on pace.

*** This can be a Safety Bloggers Community syndicated weblog from Weblog – WhiteSource authored by Patricia Johnson. Learn the unique put up at: https://assets.whitesourcesoftware.com/blog-whitesource/top-security-open-source-vulnerabilities-2020

Leave a Reply

Your email address will not be published. Required fields are marked *

Check Also

Texas leaders react to Gov. Greg Abbott’s announcement

On Tuesday, Gov. Greg Abbott introduced the top to the manager orders he made to sluggish …