[Generic/zlib] Heap-Korrumpierung in der Dekompressionsroutine
(2002-03-12 08:51:02+00)
Quelle:
http://www.gzip.org/zlib/advisory-2002-03-11.txt
In der Dekompressionsroutine der zlib
-Bibliothek ist ein Programmierfehler enthalten, der zur Heap-Korrumpierung führen kann.
Betroffene Systeme
- GNU/Linux-Systeme
- Weitere Systeme, die
zlib
verwenden. Die Nutzungsbestimmungen vonzlib
sind recht großzügig, daher wird dieser Programmcode an vielen Orten verwendet werden.
zlib
-Code enthalten, können mit dem Skript find-zlib des RUS-CERT ermitttelt werden.
Nicht betroffene Systeme
- Systeme, die bestimmte
malloc()
/free()
-Implementierungen verwenden, die die mehrfache Freigabe von Speicher in definierter Weise handhaben (z.B. OpenBSD und FreeBSD), dürften diese Schwachstelle nicht aufweisen.
malloc()
/free()
-Implementierungen, so daß keine eindeutige Aussage möglich ist.
Einfallstor
Daten, die schließlich durch die zlib
-Bibliothek verarbeitet werden, beispielsweise:
- PNG-Bilder
- Komprimierte Datenströme in HTTP
- SSH-Verbindungen
Auswirkung
Denial of Service, möglicherweise auch Ausführung beliebigen Programmcodes.
Typ der Verwundbarkeit
heap corruption bug
Gefahrenpotential
sehr hoch (wegen des Einsatzes von zlib
in zahlreichen privilegierten Systemdiensten)
(Hinweise zur Einstufung des Gefahrenpotentials.)
Beschreibungzlib
ist eine Bibliothek zum Komprimieren und Dekomprimieren von Datenströmen. Bei der Dekompression wird unter Umständen ein Speicherblock doppelt freigegeben, was zur Korrumpierung des Heaps führt. Dadurch ensteht in vielen Diensten eine Denial of Service-Schwachstelle. Es ist gegenwärtig unklar, ob die Schwachstelle auch zur Ausführung beliebigen Programmcodes mit den Rechten des Dienstes mißbraucht werden kann.
Gegenmaßnahmen
- Upgrade auf zlib 1.1.4.
zlib
-Bibliothek installiert wurde. (Dies gilt insbesondere dann, wenn das Programm gegen eine mit diesem Programm gelieferte Kopie von zlib
gelinkt wird; dabei muß die enthaltene Kopie durch Version 1.1.4 ersetzt werden, oder die Änderungen beim Aufruf von ZFREE
müssen eingepflegt werden.)
Dynamisch gelinkte Programme müssen neu gestartet werden, da sie sonst mit dem alten, fehlerhaften Code weiterlaufen (kritisch z.B. bei OpenSSH).
Vulnerability ID
Hinweis
Die in diesem Text enthaltene Information wurde für die Mitglieder der Universität Stuttgart recherchiert und zusammengestellt. Die Universität Stuttgart übernimmt keinerlei Haftung für die Inhalte. Dieser Artikel darf ausschließlich in unveränderter Form und nur zusammen mit diesem Hinweis sowie dem folgenden Copyrightverweis veröffentlicht werden. Eine Veröffentlichung unter diesen Bedingungen an anderer Stelle ist ausdrücklich gestattet.
Copyright © 2022 RUS-CERT, Universität Stuttgart, https://cert.uni-stuttgart.de/
https://cert.uni-stuttgart.de/ticker/article.php?mid=744