7-Zip mit Sicherheitslücken – updaten!

[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

7-Zip im Process Explorer(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

Dieser Beitrag wurde unter Sicherheit abgelegt und mit verschlagwortet. Setze ein Lesezeichen auf den Permalink.

17 Antworten zu 7-Zip mit Sicherheitslücken – updaten!

  1. Ulf sagt:

    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?

  2. Tim sagt:

    Betrifft das dann nicht auch den Packer WinRAR, wenn schon scheinbar dessen Bibliotheken betroffen sind, die in 7-Zip genutzt werden?

  3. acvolker sagt:

    Die Installationsdatei auf http://www.7-zip.org/ ist unsigniert von einem "unbekannten Herausgeber"

    • Tim sagt:

      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.

    • Tim sagt:

      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…

    • Toby sagt:

      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 :-(

    • ralf sagt:

      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".

  4. schattenmensch sagt:

    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.

  5. m. eda sagt:

    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

Schreibe einen Kommentar

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

Hinweis: Bitte beachtet die Regeln zum Kommentieren im Blog (Erstkommentare und Verlinktes landet in der Moderation, gebe ich alle paar Stunden frei, SEO-Posts/SPAM lösche ich rigoros). Kommentare abseits des Themas bitte unter Diskussion.

Du findest den Blog gut, hast aber Werbung geblockt? Du kannst diesen Blog auch durch eine Spende unterstützen.