[English]Noch eine Information für Benutzer des Packprogramms 7-Zip. Ältere Versionen des für diverse Plattformen verfügbaren Packers weisen Sicherheitslücken auf. Ein Update sollte schnellstmöglich ausgeführt werden.
Anzeige
7-Zip ist ein Packprogramm, welches verschiedene Archivformate unterstützt und für Windows und Linux – sowie inoffiziell für macOS – zur Verfügung steht. Blog-Leser Ralf H. wies mich vor wenigen Stunden auf Sicherheitsprobleme des Programms hin (danke dafür).
In Daves landave-Blog findet sich der Beitrag 7-Zip: Multiple Memory Corruptions via RAR and ZIP, der sich mit der Thematik befasst. Der Autor des Beitrags hat zwei Sicherheitslücken in 7-Zip vor der Version 18.00 im RAR- und ZIP-Teil des Programms gefunden, die auch in p7zip stecken.
Memory Corruption im RAR-Modus (CVE-2018-5996)
Der RAR-Code von 7-Zip basiert größtenteils auf einer aktuellen UnRAR-Version. Für die Version 3 des RAR-Formats kann PPMd verwendet werden, eine Implementierung des PPMII-Kompressionsalgorithmus von Dmitry Shkarin.
Dave hat nun in der Entpack-Routine eine Schwachstelle in der Implementierung gefunden. Diese lässt sich nutzen, um den Speicher zu kompromittieren (Memory Corruption). Im Blog-Beitrag führt Dave aus, dass die 7-Zip Binärdateien für Windows ohne die Compiler-Flags /NXCOMPAT und /DYNAMICBASE übersetzt wurden. Das bedeutet, dass 7-Zip auf allen Windows-Systemen ohne ASLR läuft. Und DEP ist nur unter 64-Bit-Windows-Systemen sowie in der 32-Bit-Version von Windows 10 aktiviert ist. Der folgende Screenshot zeigt zum Beispiel die aktuellste Version von 7-Zip 18.00, die auf einem vollständig aktualisierten Windows 8.1 x86 läuft:
Anzeige
(Quelle: landave.io)
Dort ist zu sehen, dass DEP permanent deaktiviert wurde. Darüber hinaus wird 7-Zip ohne /GS-Flag kompiliert, so dass es keine Stack-Überwachung gibt. Dave hat dieses Thematik mit Igor Pavlov (den Entwickler von 7-Zip) diskutiert und versucht, ihn davon zu überzeugen, alle drei Flags zu aktivieren. Pavlov weigerte sich jedoch, /DYNAMICBASE zu aktivieren. Hintergrund: Er zieht es vor, die Binärdateien ohne Relocation-Tabelle zu erstellen, um eine minimale Binärgröße zu erreichen. Außerdem will er /GS nicht aktivieren, da es die Laufzeit und die Binärgröße beeinflussen könnte. Zumindest wird er versuchen, /NXCOMPAT für die nächste Version zu aktivieren. Anscheinend ist es derzeit nicht aktiviert, da 7-Zip mit einem veralteten Linker verknüpft ist, der das Flag nicht unterstützt.
Da es für Angreifer verschiedene Möglichkeiten gibt, den Stack und den Heap zu korrumpieren, ist die Ausnutzung für die Remotecodeausführung unkompliziert, insbesondere wenn kein DEP verwendet wird.
Heap Buffer Overflow (CVE-2017-17969)
Im ZIP-Teil des Programms findet sich eine Heap Buffer Overflow-Schwachstelle in der LZW-Shrink-Routine. Die betreffende Routine für den Shrink Decoder von 7-Zip wurde von Igor Pavlov im Jahr 2005 geschrieben. Die Sicherheitslücke befindet sich seit dieser Zeit wohl im Code.
Update auf Version 18.01
Nach den Informationen im Blog-Beitrag wurden beide Fehler in 7-Zip Version 18.00 Beta geschlossen. Aktuell gibt es auf der 7-Zip-Download-Seite bereits die Version 18.01, die für das Update verwendet werden soll. Bei der portablen Variante steht nur die Version 16.04 zur Verfügung. Ich gehe davon aus, dass diese verwundbar ist. Ergänzung: Beachtet den Kommentar, die Version 18.01 ist verfügbar.
Tipp: Man kann sich seine portable Variante selbst basteln. Ich habe mir die 32- und 64-Bit-Version der installierbaren Versionen heruntergeladen. Dann habe ich die beiden .exe-Dateien mit einer alten 7-Zip-Version entpackt. Dann habe die Ordner 7-Zip und 7-Zip64 der portablen Version durch die neu entpackten Ordner ersetzt. Jetzt meldet mir 7-Zip portable die Version 18.01.
Anzeige
portableapps.com hat inzwischen auch version 18.01:
https://portableapps.com/news/2018-01-29–7-zip-portable-18.01-released
Danke für die Ergänzung.
Wo soll es die Versionen geben? Auf der (offiziellen) Seite http://www.7-zip.de ist die höchste Version 17.00 beta.
Ist die 18er-Version ein Virus/Fake?
7-zip.de ist keine offizielle Seite. Auf http://www.7-zip.org/ werden wir fündig.
7-zip.de ist die Seite der deutschen Sprachversion. Das sieht man dann auch bei 7-zip.org. Wie bei allen übersetzen Seiten hängen diese mächtig hinterher.
Die letzte freigegebene Versin war 16.4 und dann gab es Beta-Versionen von 17.x bis 18.0. Nun man der Hersteller wegen Sicherheitslücken dann die neue Version mit 18.01 freigegeben.
Betrifft das dann nicht auch den Packer WinRAR, wenn schon scheinbar dessen Bibliotheken betroffen sind, die in 7-Zip genutzt werden?
Nein Tim, WinRar und 7-Zip sind 2 paar Schuhe. WinRar ist mit Version
5,50 auf dem neusten Stand. ;-)
https://www.winrar.de/downld.php
Ach so, dachte nun weil ja des eigene Format 7z ist und nicht RAR, Zip und Co…
RAR geht meines Wissens sogar nur zu entpacken in 7-Zip, weil es halt ein extra Fremd Modul ist und nur dieser Teil praktaktisch ohne Lizensierung genutzt werden kann.
Hallo Wolfgang,
wo findet man denn den Kommandozeilen-rar-Entpacker (UnRAR.exe)?
Bisland war der immer frei verfügbar (Freeware).
zu "wo findet man denn den Kommandozeilen-rar-Entpacker":
via winrar-hompage (https://www.rarlab.com/). dort links oben auf rar extras gehen, dann landet man u.a. bei den "command line freeware"-entpackern:
https://www.rarlab.com/rar_add.htm
Die Installationsdatei auf http://www.7-zip.org/ ist unsigniert von einem "unbekannten Herausgeber"
Das kommt schon mal vor und du bist jetzt der Blöde, der herausfinden muss ob Windows ein Sicherheitsupdate fehlt, oder die Software einfach kein entsprechendes Zertifikat besitzt, oder die Software die du heruntergeladen hast manipuliert wurde…
Witzig dieses Sicherheitsfeature, oder? Der Mist verunsichert mehr, als er nutzt.
Ich persönlich würde erstmal auf die Herstellerseite setzen und der Vertrauen.
Wenn die Seite natürlich gehackt wurde und du zufällig nun verseuchten Kram runtergeladen hast, ist das einfach Pech.
Oder du vertraust Microsoft und verzichtest… das ist wohl, was MS nun vorschlagen würde.
Ich kann dir ersthaft nicht mal sagen, ob ich diese unnütze und nicht hilfreiche Meldung schon automatisch wegklicke bei der installation von 7-Zip, oder normalerweise keine kommt…
Auch die .exe die man später ausführt ist leider nicht signiert. Schade, macht sich nicht gut im Process Explorer, aber da kann man wohl leider nichts machen. Ist leider öfter so, bei OpenSource-Projekten :-(
dass free and open source software (foss) ueberwiegend ohne code-signing daher kommt ist doch verstaendlich – schaut euch doch mal die preise an:
https://www.thawte.de/code-signing/
https://www.globalsign.com/de-de/code-signing/
und zur erinnerung: signierter code garantiert bestenfalls die herkunft, nicht die sicherheit – GOLEM (18.09.2017): "Der Antivirenhersteller Avast hat mit einer ordentlich signierten Version des Optimierungsprogramms Ccleaner Malware verteilt".
Wird EMET verwendet, so ist DEP permanent aktiv. So zeigt es der Process Explorer an. ASLR bleibt weiterhin leer. Damit entsprechende Sicherheitsfunktionen für 7-zip aktiviert werden, muss in EMET "Popular Software.xml" ausgewählt werden. Dazu auf "Import" gehen.
Hallo Herr Born,
die 7-Zip Version ist nun 19.00.
Laut Prozess Explorer ist DEP enabled(permanent) und ASLR ist aktiv.
Ich nutze Windows 10 20H2 (Build 19042.867).
Herr Born und Experten, mich würde ein weiteres Artikel-Update interessieren zu 7-Zip v.19.00 und
wie wirkt sich das "unkooperative" Verhalten bezüglich security autits zu
1. 7-Zip als Kompressionstool
2. 7-Zip als AES-256 Verschlüsselungstool
auf das Gesamtprojekt 7-Zip aus?
Gibt es überhaupt getrennte audits zu 1. und 2., kann man das trennen?
Somit ist auch der AES-256-Part vertrauensunwürdig, oder?
Oder kann dem kryptografischen Teil vertrauen werden?
Gruß und Danke