Zip Slip – Gefahr beim Entpacken von Zipdateien mit Java

Das Security-Team von Snyk hat eine Schwachstelle entdeckt und veröffentlicht, die das Entpacken von Zipdateien mit Java betrifft. Die „Zip Slip“ getaufte Verwundbarkeit sowie Möglichkeiten zur Ausnutzung derselben sind auf der Seite Zip Slip Vulnerability beschrieben.

Betroffen sind vor allem Webanwendungen die es Nutzern erlauben, gepackte Dateien (zip, rar, jar, 7zip etc.) hochzuladenEntwickler solcher Anwendungen sollten unbedingt prüfen ob ihr Code betroffen ist!

Mit entsprechenden, speziell vorbereiteten Archiven ist es nämlich möglich, dass Dateien außerhalb des Zielverzeichnisses landen wenn sie von der Anwendung entpackt werden. Dies ermöglicht das Einschleusen von Schadcode, z.B. durch das Überschreiben wichtiger Systemdateien.

Das Video  Zip Slip Live Exploit auf YouTube demonstriert den Exploit eindrucksvoll in nur 3 Minuten.

Betroffen sind verschiedene Zip-Bibliotheken für Java, darunter Apache commons-compress und zip4j. Auch Code der die im JDK enthaltenen Klassen aus dem Package java.util.zip zum Entpacken nutzt, kann anfällig sein, sofern dieser die gezippten Dateien ohne Prüfung ihres Pfades auf den Datenträger entpackt.

Die Schwachstelle ist bereits weit verbreitet, da sie sich im Lauf der Zeit über Codeschnipsel vervielfältigt hat, die man beispielsweise auf StackOverflow findet, wenn man etwa nach „unzip file java“ googelt.

Übrigens ist nicht nur Java betroffen, die Verwundbarkeit wurde auch in Bibliotheken für .NET, Ruby, Go, Python sowie JavaScript entdeckt. Eine Liste mit verwundbaren Bibliotheken sowie gefixten Versionen findet sich hier: https://github.com/snyk/zip-slip-vulnerability.

 

Zurück zur Übersicht

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*Pflichtfelder

*