Zip-Slip-Sicherheitslücke: Spickzettel
28. Juni 2018
0 Min. LesezeitNach unseren letzten beiden Spickzetteln zu Local Type Inference in Java und den Best Practices für GitHub-Sicherheit freue ich mich, unsere Reihe praktischer, druckbarer Spickzettel mit einer konkreten Sicherheitslücke fortzusetzen, von der bereits Tausende Anwendungen betroffen waren. Der Spickzettel dieses Monats befasst sich mit der Zip-Slip-Sicherheitslücke. Am 5. Juni 2018 haben wir nach monatelanger Recherche mit zahlreichen sehr bekannten Bibliotheken und Projekten zur Archivverwaltung eine Sicherheitslücke zum beliebigen Überschreiben von Dateien öffentlich gemacht, die als Zip Slip bezeichnet wurde. Die Sicherheitslücke trat über mehrere Jahrzehnte hinweg immer wieder auf, ist in jüngster Zeit jedoch in bekannten Codebasen verschiedener Ökosysteme deutlich häufiger geworden.
Zip Slip ist eine Form von Directory Traversal, die durch das Entpacken von Dateien aus einem Archiv ausgenutzt werden kann. Bei einer Directory-Traversal-Sicherheitslücke kann ein Angreifer auf Teile des Dateisystems außerhalb des Zielordners zugreifen, in dem sich die Dateien befinden sollten. Anschließend kann der Angreifer ausführbare Dateien überschreiben und sie entweder aus der Ferne aufrufen oder darauf warten, dass das System oder ein Benutzer sie startet. So kann er die Remote Command Execution auf dem Rechner des Opfers erreichen. Die Sicherheitslücke kann auch Schäden verursachen, indem sie Konfigurationsdateien oder andere sensible Ressourcen überschreibt. Sie lässt sich sowohl auf Client-Rechnern (Benutzergeräten) als auch auf Servern ausnutzen.
Sehen Sie sich das kurze Video unten an, um ein Beispiel für die Ausnutzung dieser Sicherheitslücke zu sehen. Es zeigt, wie sensible Dateien überschrieben werden können, was zu Remote Code Execution führen kann [embed]https://www.youtube.com/watch?v=l1MT5lr4p9o\[/embed\]This Dieser Spickzettel behandelt vier der wichtigsten Ökosysteme, die am stärksten von der Zip-Slip-Sicherheitslücke betroffen waren. Für jedes Ökosystem zeigen wir Beispiele für anfällige Code-Snippets und anschließend Validierungscode, mit dem sich das Problem beheben lässt. Statt hier alle Inhalte zu wiederholen, die wir zu dieser Sicherheitslücke zusammengestellt haben, verweisen wir Sie lieber direkt auf unsere Recherche und unser GitHub-Repository:
Zip Slip Research-Seite – Hier finden Sie Hintergrundinformationen zu Zip Slip und Directory-Traversal-Angriffen im Allgemeinen. Die Seite zeigt, wie ein ausnutzbarer Anwendungsablauf aussehen könnte und wie Sie überprüfen können, ob Ihr Code anfällig ist. Außerdem enthält sie Beispiele für anfällige Code-Snippets aus allen untersuchten Ökosystemen sowie Vorschläge für Validierungscode.
Zip Slip Community-Repository – Den aktuellen Stand zu anfälligen Zip-Slip-Bibliotheken finden Sie in unserem Community-GitHub-Repository. Dort können Sie auch mitwirken, indem Sie anfällige Codebasen hinzufügen oder aktualisieren und einen PR einreichen! Snyk hilft Ihnen, bekannte Sicherheitslücken in Ihren Abhängigkeiten zu finden und zu beheben.
Melden Sie sich kostenlos für ein Snyk-Konto an, um loszulegen, und testen Sie Ihre Anwendung auf Zip Slip und andere bekannte Sicherheitslücken.



