Dark Reading is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them.Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Application Security //

Open Source

6/8/2018
08:05 AM
Larry Loeb
Larry Loeb
Larry Loeb
50%
50%

ZipSlip Flaw Lets Attackers Inject Malware Into Open Source Projects

The newly discovered ZipSlip flaw opens a big hole for malware in many open source projects. Here's what developers need to know.

Malware authors are so doggone creative. They find flaws in software that should be boring and stolid enough to avoid being exploited -- and then exploit them, anyway.

ZipSlip is an exploit like that.

It was first found by Snyk and disclosed on its website. The malware affects major archival formats such as ar, jar, war, cpio, apk, rar and 7z. Researchers report that it can be exploited on both client (user) machines and servers.

It's a way for an attacker to feed a poisoned archival file to a user, which allows them to write arbitrary files on the system that may end up with remote command execution.

Who would think unpacking a file could do that? Well, it can.

The vulnerability is exploited using a specially crafted archive that holds directory traversal filenames such as "../../evil.sh." With it, an attacker can unzip files outside the normal unzip path and then overwrite sensitive files such as critical OS libraries.

Programming languages, including JavaScript, Python, Ruby, .NET, Go, and Groovy, don't have an official archive for files and that makes developers do the unpacking on their own by using alternative libraries.

These libraries can be ZipSlip vulnerable, and Snyk published a list of affected open source libraries on GitHub. (See Microsoft's GitHub Deal: Following Developers & Security Into the Cloud.)

Snyk found that Java was the most affected programming language. The Oracle and Apache commons-compress APIs do offer some archiving support but do not publicly provide full extract capability. Java has no central library that offers high level processing of archive files. Snyk details that the lack of such a library led to vulnerable code snippets being hand-crafted and shared among developer communities like StackOverflow.

The effect on these libraries -- though many of them were fixed before Snyk disclosed -- can have a significant impact on many existing projects. Snyk found that Oracle, Amazon, Spring/Pivotal, Linkedin, Twitter, Alibaba, Jenkinsci, Eclipse, OWASP, SonarCube, OpenTable, Arduino, ElasticSearch, Selenium, Gradle and JetBrains all used the libraries or had vulnerable code within them that could be exploited.


Now entering its fifth year, the 2020 Vision Executive Summit is an exclusive meeting of global CSP executives focused on navigating the disruptive forces at work in telecom today. Join us in Lisbon on December 4-6 to meet with fellow experts as we define the future of next-gen communications and how to make it profitable.

The problem seems to not affect Ruby or Python. Snyk researchers noted:

We also vetted the Ruby and Python ecosystems and couldn't find any vulnerable code snippets or libraries. In fact, Python's zipfile was vulnerable until it was fixed in 2014. Ruby has a number of existing vulnerabilities that have been fixed in previous versions.

The way out of this may be to add validation code to a vulnerable snippet to test for directory traversal. If found, one must make sure to use the fixed libraries that Snyk has listed on GitHub. That process of finding out dependencies is a major pain, though.

The subtlety of the exploit and the lack of wide awareness of it make it a major security challenge for the enterprise. Though mediation will require some effort, the depth of the problem will make it rewarding.

Related posts:

— Larry Loeb has written for many of the last century's major "dead tree" computer magazines, having been, among other things, a consulting editor for BYTE magazine and senior editor for the launch of WebWeek.

Comment  | 
Print  | 
More Insights
Comments
Newest First  |  Oldest First  |  Threaded View
COVID-19: Latest Security News & Commentary
Dark Reading Staff 7/9/2020
4 Security Tips as the July 15 Tax-Day Extension Draws Near
Shane Buckley, President & Chief Operating Officer, Gigamon,  7/10/2020
Russian Cyber Gang 'Cosmic Lynx' Focuses on Email Fraud
Kelly Sheridan, Staff Editor, Dark Reading,  7/7/2020
Register for Dark Reading Newsletters
White Papers
Video
Cartoon
Current Issue
Special Report: Computing's New Normal, a Dark Reading Perspective
This special report examines how IT security organizations have adapted to the "new normal" of computing and what the long-term effects will be. Read it and get a unique set of perspectives on issues ranging from new threats & vulnerabilities as a result of remote working to how enterprise security strategy will be affected long term.
Flash Poll
The Threat from the Internetand What Your Organization Can Do About It
The Threat from the Internetand What Your Organization Can Do About It
This report describes some of the latest attacks and threats emanating from the Internet, as well as advice and tips on how your organization can mitigate those threats before they affect your business. Download it today!
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2020-15105
PUBLISHED: 2020-07-10
Django Two-Factor Authentication before 1.12, stores the user's password in clear text in the user session (base64-encoded). The password is stored in the session when the user submits their username and password, and is removed once they complete authentication by entering a two-factor authenticati...
CVE-2020-11061
PUBLISHED: 2020-07-10
In Bareos Director less than or equal to 16.2.10, 17.2.9, 18.2.8, and 19.2.7, a heap overflow allows a malicious client to corrupt the director's memory via oversized digest strings sent during initialization of a verify job. Disabling verify jobs mitigates the problem. This issue is also patched in...
CVE-2020-4042
PUBLISHED: 2020-07-10
Bareos before version 19.2.8 and earlier allows a malicious client to communicate with the director without knowledge of the shared secret if the director allows client initiated connection and connects to the client itself. The malicious client can replay the Bareos director's cram-md5 challenge to...
CVE-2020-11081
PUBLISHED: 2020-07-10
osquery before version 4.4.0 enables a priviledge escalation vulnerability. If a Window system is configured with a PATH that contains a user-writable directory then a local user may write a zlib1.dll DLL, which osquery will attempt to load. Since osquery runs with elevated privileges this enables l...
CVE-2020-6114
PUBLISHED: 2020-07-10
An exploitable SQL injection vulnerability exists in the Admin Reports functionality of Glacies IceHRM v26.6.0.OS (Commit bb274de1751ffb9d09482fd2538f9950a94c510a) . A specially crafted HTTP request can cause SQL injection. An attacker can make an authenticated HTTP request to trigger this vulnerabi...