„`html
Zusammenfassung
In der Node.js-Bibliothek node-unzipper von ZJONSSON (Versionen bis 0.12.3) wurde eine Path-Traversal-Schwachstelle identifiziert. Die Vulnerability betrifft die Extract-Funktion in der Datei lib/extract.js und ermöglicht es Angreifern mit lokalem Zugriff, Dateien außerhalb des vorgesehenen Zielverzeichnisses zu schreiben. Der CVSS-Score beträgt 5.3 (Medium-Schweregrad). Die Schwachstelle wurde bereits öffentlich offengelegt.
Betroffene Systeme
Alle Systeme, die node-unzipper in den Versionen 0.12.3 und älter einsetzen, sind betroffen. Dies umfasst Anwendungen, die auf Node.js basieren und die Bibliothek zur Entpackung von ZIP-Archiven verwenden. Besonders kritisch ist die Situation für Systeme, auf denen mehrere Benutzer lokal Zugriff haben.
Technische Details
Die Path-Traversal-Schwachstelle existiert in der Extract-Funktion, welche ZIP-Archive verarbeitet. Ein Angreifer kann speziell präparierte ZIP-Dateien mit manipulierten Pfaden (z.B. ../../../etc/passwd) erstellen. Beim Entpacken werden diese Dateien nicht ordnungsgemäß validiert, sodass Dateien außerhalb des Zielverzeichnisses geschrieben werden können. Dies ermöglicht das Überschreiben sensibler Dateien oder das Einschleusen von Schadcode.
Empfohlene Massnahmen
Sofortmassnahmen:
- Aktualisieren Sie node-unzipper auf eine Version höher als 0.12.3, sobald ein Patch verfügbar ist
- Implementieren Sie Eingabevalidierung für ZIP-Dateien vor der Verarbeitung
- Beschränken Sie lokalen Zugriff auf Systeme, die node-unzipper verwenden
- Nutzen Sie Sandboxing-Techniken für die ZIP-Verarbeitung
- Überprüfen Sie Dateisystemberechtigungen und begrenzen Sie diese auf das Notwendigste
Bewertung
Trotz des Medium-Schwergrades (CVSS 5.3) sollte diese Schwachstelle nicht unterschätzt werden. Die Anforderung lokalen Zugriffs limitiert das Angriffsrisiko, jedoch können Angreifer mit lokalem Zugriff das System kompromittieren. Da kein Patch verfügbar ist und die Schwachstelle öffentlich bekannt ist, sollten Unternehmen zeitnah Workarounds implementieren oder alternative Bibliotheken evaluieren.
„`