zlib: Kritische Schadcode-Lücke in untgz-Tool der „Überall-Bibliothek“
Eine kritische Lücke im untgz-Tool der in vielen Betriebssystemen und Programmen enthaltenen zlib-Bibliothek ermöglicht Codeschmuggel.
(Bild: Skorzewiak / Shutterstock.com)
In einem Werkzeug der Kompressionsbibliothek zlib, die in zahlreichen Programmen und Betriebssystemen enthalten ist, haben IT-Forscher eine kritische Sicherheitslücke entdeckt. Sie ermöglicht unter Umständen das Einschleusen und Ausführen von Schadcode. Ein Update zum Stopfen des Sicherheitslecks gibt es bislang noch nicht.
Auf der nur noch wenig aktiven Mailingliste Full Disclosure hat der IT-Forscher Ronald Edgerson Informationen zur Sicherheitslücke gepostet. In der Funktion TGZfname() des untgz-Tools von zlib, das sich um die Dekompression von .tar.gz-Archiven (oder oftmals kurz .tgz) kümmert, kann ein Pufferüberlauf auftreten. Ursache ist das Kopieren von Nutzer-übergebenen Daten ohne Längenprüfung mit einem strcpy()-Aufruf auf einen globalen statischen Puffer von 1024 Byte Größe. Durch das Übergeben eines größeren Archivnamens erfolgt ein Schreibzugriff außerhalb der vorgesehenen Speichergrenzen, was zu Speicherverletzungen führt. Die Lücke hat nun den Schwachstelleneintrag CVE-2026-22184 erhalten (CVSS4 9.3, Risiko „kritisch“).
Das untgz-Tool gehört zu Nutzer-beigesteuerten Werkzeugen (im contrib-Ordner des Projekts), die offiziell keinen Support erhalten. Sie sind jedoch auch nicht zwingend Bestandteil von ausgelieferten zlib-Paketen.
Auswirkungen der Sicherheitslücke
Edgerson führt aus, dass die Folgen unter anderem ein Absturz (Denial-of-Service, DoS), Speicherverletzungen von darauffolgenden globalen Objekten, nicht definiertes Verhalten oder sogar die Ausführung von eingeschleustem Code sein könnten. Jedoch gibt es dabei noch Abhängigkeiten vom verwendeten Compiler, der Prozessorarchitektur des Systems, verwendeten Build-Flags und dem Speicherlayout. Der verwundbare Code wird vor jedwedem Parsen oder Prüfungen des Archivs ausgeführt, wodurch sich die Lücke trivial allein durch Aufruf mit präpariertem Kommandozeilenparameter ausnutzen lasse. Da globaler Speicher betroffen sei, könnten die Speicherfehler über die Funktion hinaus wirksam werden und später das Programmverhalten beeinflussen.
Videos by heise
Betroffen ist zlib bis einschließlich zur aktuellen Fassung 1.3.1.2, wie Vulncheck angibt, die den CVE-Schwachstelleneintrag erstellt und veröffentlicht haben. Aktualisierte Software steht derzeit noch nicht bereit. Im Github-Projekt von zlib deutet zum Meldungszeitpunkt noch nichts auf Korrekturen im Quellcode hin. Ein Problembericht wurde jedoch kürzlich eingereicht.
Im Herbst 2022 fiel die zlib-Bibliothek zuletzt durch eine kritische Sicherheitslücke auf. Auch dort konnten Angreifer den sicherheitsrelevanten Fehler missbrauchen, um Schadcode einzuschleusen und auszuführen. Damals waren jedoch Aktualisierungen bereits zeitnah verfügbar.
Ergänzt, dass das untgz-Tool zu von Benutzern beigesteuerten Werkzeugen im contrib-Ordner gehören. Sie erhalten damit keinen Support, werden aber nicht unbedingt mit den zlib-Bilbliothek-Paketen ausgeliefert.
(dmk)