Buffer Overflow im Linux-Kernel [Update]

Paul Starzetz von isec hat Details zu einer neuen Lücke im Linux-Kernel veröffentlicht, mit der ein Angreifer Programme mit Root-Rechten ausführen kann.

In Pocket speichern vorlesen Druckansicht 865 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Daniel Bachfeld

Paul Starzetz von isec hat Details zu einer neuen Lücke im Linux-Kernel veröffentlicht, mit der ein Angreifer Programme mit Root-Rechten ausführen kann. Anders als bei vergangenen Veröffentlichungen von Starzetz, wurden die Hersteller aber offenbar nicht vorab informiert, etwa über die geschlossene Mailing-Liste Vendor-Sec. Nach seinen Angaben würde die Linux-Community Veröffentlichungen ohne Embargos von Distributoren bevorzugen. Um aber die Regeln der so genannten Responsible Disclosure einzuhalten, veröffentlicht er diesmal keinen Exploit-Code.

Der Fehler findet sich wieder einmal im Linux ELF-Binary-Loader, in dem Starzetz in der Vergangenheit bereits mehrere Lücken aufdeckte. Diesmal ist ein Buffer Overflow in der Funktion elf_core_dump schuld, der beim Aufruf einer weiteren Funktion (copy_from_user) mit einer negativen Längenangabe auftritt. Starzetz hat nach eigenen Angaben die Lücke bereits durch ein präpariertes ELF-Binary demonstrieren können, das mit Kernel-Privilegien lief. Ein Proof-of-Concept-Programm ist seinem Advisory beigefügt, das aber nur den Kern des Problems demonstriert.

Um die Schwachstelle auszunutzen muss der Angreifer bereits am System angemeldet sein, beispielsweise als nicht-privilegierter Anwender per SSH. Allerdings lassen sich solche Lücken auch nach einem Einbruch über das Netzwerk ausnutzen, um die vollständige Kontrolle über ein System zu erlangen -- etwa wenn der kompromittierte Dienst nur mit den Rechten von "nobody" läuft.

Betroffen sind die Kernel 2.2 bis einschließlich 2.2.27-rc2, 2.4 bis einschließlich 2.4.31-pre1 sowie 2.6 bis einschließlich 2.6.12-rc4. Bislang ist der Fehler nur im Kernel 2.6.11.9 behoben, in den der auf Bugtraq vorgeschlagene Patch Eingang gefunden hat.

Update
Die Hersteller wurden über die Liste Vendor-Sec 24 Stunden vor der Veröffentlichung des Advisorys auf den öffentlichen Listen über das Problem informiert, so Starzetz gegenüber heise Security. Allerdings schien ihm "ein langwieriges hin und her" mit den Herstellern dort überflüssig, da man das Problem ohnehin mit ulimit -c beheben könne. Damit ließe sich vom Administrator das Erzeugen eines Core Dumps einschränken. Zudem ist im Kernel 2.4.30 bereits ein Fix in der Funktion copy_from_user enthalten, der die Übergabe negativer Parameter verhindern soll.

Siehe dazu auch: (dab)