Buffer Overflow in (De-)Kompressionsmodul von Python

Durch den Fehler sollen Angreifer ein System unter ihre Kontrolle bringen können. Ein Patch ist bisher nur im Subversion-Repository der Entwickler verfügbar.

In Pocket speichern vorlesen Druckansicht 25 Kommentare lesen
Lesezeit: 1 Min.
Von
  • Daniel Bachfeld

Eine Lücke im (De-)Kompressionsmodul zlib unter Python soll sich von Angreifern ausnutzen lassen, um ein System unter ihre Kontrolle zu bekommen. Der Fehler steckt laut Bericht in einer Funktion (flush) zum Löschen eines Dekompression-Streams, wobei die Zahl der zu löschenden Daten über einen Parameter definierbar ist. Allerdings wird dieser Wert nicht überprüft und führt bei der Übergabe eines negativen Wertes im weiteren Verlauf zu einem Buffer Overflow, worüber sich Code einschleusen und ausführen lassen soll. Unter Umständen schmiert die betroffene Anwendung auch einfach nur ab.

Zwar stuft der Autor Justin Ferguson von IOActive die Sicherheitslücke als kritisch ein, allerdings geht aus seinem Bericht nicht klar hervor, wie sich der Fehler aus der Ferne provozieren lassen soll. Zwar verarbeitet das zlib-Modul Benutzereingaben in Zusammenhang mit der Kompression und Dekompression, der fragliche Lösch-Parameter dürfte jedoch in so gut wie keiner Webanwendung ebenfalls aus den Nutzereingaben in die fehlerhafet Methode flush() einfließen.

Der Fehler wurde in der Python-Version 2.5.2 gefunden, andere Versionen sind wahrscheinlich ebenfalls betroffen. Die Python-Entwickler haben den Fehler im Subversion-Repository bereits beseitigt.

Siehe dazu auch:

(dab)