Alte Sicherheitslücke in zlib könnte Codeschmuggel ermöglichen

Alte Sicherheitslücke in zlib könnte Codeschmuggel ermöglichen

Der renommierte IT-Sicherheitsexperte Tavis Ormandy ist kürzlich über einen Fehler in der Kompressionsbibliothek zlib gestolpert, der sich als veritable Sicherheitslücke entpuppte. Angreifer könnten möglicherweise dadurch eigenen Code ausführen. zlib ist sehr weitverbreitet, teils auch als statisch eingebundene Bibliothek. Webserver können etwa damit die HTTP-Ausgaben komprimieren, um zu übertragendes Datenvolumen zu reduzieren.

Bei der Suche fand Ormandy einen Patch dafür, der bereits vor vier Jahren in die Quellen übernommen wurde – es jedoch nicht in ein Release der zlib-Bibliothek geschafft hat. Die Anmerkung zum Patch erläutert, dass die Lücke zu dem Zeitpunkt bereits 13 Jahre im Code schlummerte. Inzwischen hat die Schwachstelle also offenbar 17 Jahre auf dem Buckel. Der Fehler wurde demzufolge in zlib 1.2.2.2 mit der Option Z_FIXED eingeführt, die die Nutzung fixer Huffman-Tables erzwingt.

Dem Patch zufolge könnte unter seltenen Umständen, wenn die zu komprimierenden Daten eine große Zahl von Symbolübereinstimmung mit weitem Abstand enthalten, bei der Kompression die Symbol-Distanz-Tabelle überschrieben werden. Dies mündet in zerstörten Daten aufgrund ungültiger Abstände und kann zu Zugriffen außerhalb der vorgesehenen Grenzen führen. Die Erklärung zum Patch nennt den Absturz der Anwendung als Folge. Es ist jedoch offenbar auch möglich, dadurch eingeschleusten Code auszuführen.

Tavis Ormandy hat Daten zusammengestellt, die den Fehler reproduzierbar machen. Er schließt seine Erläuterungen damit, dass das seiner Meinung nach ein ziemlich schlimmer Bug sei: Kein Grund zur Panik, wenn wirklich die Option Z_FIXED nötig sei, da sie nur in bestimmten Szenarien aktiv sei. Falls aber nicht, dann … „uh-oh“.

Kurze Zeit darauf präsentierte Eric Biggers reproduzierbare Fehler mit dem Feature Z_DEFAULT_STRATEGY anstatt Z_FIXED, was Ormandy bestätigte und seine Einschätzung präzisierte: „Es scheint wahrscheinlich, dass Angreifer diesen Status erzwingen können, […] Lasst uns hoffen, dass das Aufräumen alter statischer zlib-Kopien kein Chaos für die folgenden Jahre erzeugt :(„

Die Schwachstelle hat inzwischen einen CVE-Eintrag erhalten, CVE-2018-25032. Der Linux-Anbieter SuSE etwa stuft die Lücke mit CVSS 8.1 als hohes Risiko ein. Aktualisierte zlib-Pakete stehen dort auch bereit. Administratoren sollten die Paketverwaltung der eingesetzten Distribution zeitnah nach Aktualisierungen suchen und diese dann installieren lassen.


(dmk)

Zur Startseite

Schreibe einen Kommentar

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