LĂŒcke im Linux-Kernel erlaubt Root-Zugriff [Update]
Eine Null-Pointer-Dereferenzierung im Linux-Kernel lÀsst sich ausnutzen, um an Root-Rechte auf einem System zu gelangen. Der Fehler ist im RC6 der Version 2.6.32 behoben. Einige Distributionen verhindern jedoch auch ohne Patch die Wirksamkeit von Exploits.
Eine Null-Pointer-Dereferenzierung im Linux-Kernel lĂ€sst sich ausnutzen, um als normaler Anwender auf einem System an Root-Rechte zu gelangen. Laut Bericht steckt die LĂŒcke in pipe.c und tritt unter bestimmten UmstĂ€nden bei der Verwendung der Funktionen pipe_read_open(), pipe_write_open() pipe_rdwr_open() auf, wenn ein Mutex (mutual exclusion) zu frĂŒh freigegeben wird â also eine klassische Race Condition. Der Fehler ist aber bislang erst im Release Candidate 6 der kommenden Version 2.6.32 beseitigt [1] .
Er lĂ€sst sich aber, wie bei den vorherigen Null-Pointer-Dereferenzierungen im Linux-Kernel, nur dann ausnutzen, wenn die Kernel-Systemvariable mmap_min_addr auf 0 gesetzt ist. mmap_min_addr legt die niedrigste virtuelle Adresse fest, auf die ein Prozess mappen darf. Ist sie gröĂer als 0, funktionieren Exploits nicht, bei denen ein als Null dereferenzierter Pointer dorthin zeigt. Allerdings funktionieren dann auch einige Open-Source-Anwendungen wie Wine und dosemu nicht mehr, weshalb manche Distributoren den Wert standardmĂ€Ăig auf 0 setzen, darunter Red Hat und Debian. Red Hat hat aber bereits aktualisierte Pakete herausgegeben [2], um die LĂŒcke zu schlieĂen. Debian hĂ€lt eine Anleitung [3] bereit, wie man die Variable Ă€ndert. Unter Ubuntu ist mmap_min_addr standardmĂ€Ăig auf 65535 gesetzt, womit Exploits nicht funktionieren. Durch die Installation weiterer Anwendungen kann der Wert jedoch auf 0 gesetzt werden.
Auf der Linux-Kernel-Mailingliste weist [4] zwar offiziell der Entwickler Earl Chew am 14. Oktober als erster auf den Fehler hin, der hinter dem grsecurity-Projekt [5] stehende Entwickler Brad Spengler will sie aber ebenfalls Mitte Oktober entdeckt haben. GegenĂŒber britischen Medien gab Spengler an, vor zwei Wochen sogar schon einen Exploit entwickelt zu haben. Spengler hatte hatte bereits fĂŒr die zuletzt entdeckten Null-Pointer-Dereferenzierungen im Linux-Kernel Exploits veröffentlicht.
Update: Auf Anfrage von heise Security erklĂ€rte Brad Spengler, dass er seinen Exploit zum Ausnutzen der LĂŒcke möglicherweise noch heute veröffentlichen wird.
Siehe dazu auch:
- Kritische LĂŒcke im Linux-Kernel betrifft alle Versionen seit 2001 [6]
- Root-Exploit fĂŒr Linux-Kernel veröffentlicht [7]
(dab [8])
URL dieses Artikels:
https://www.heise.de/-849799
Links in diesem Artikel:
[1] http://www.kernel.org/pub/linux/kernel/v2.6/testing/ChangeLog-2.6.32-rc6
[2] https://rhn.redhat.com/cve/CVE-2009-3547.html
[3] http://wiki.debian.org/mmap_min_addr
[4] http://lkml.org/lkml/2009/10/14/184
[5] http://www.grsecurity.net/
[6] https://www.heise.de/news/Kritische-Luecke-im-Linux-Kernel-betrifft-alle-Versionen-seit-2001-751281.html
[7] https://www.heise.de/news/Root-Exploit-fuer-Linux-Kernel-veroeffentlicht-6901.html
[8] mailto:dab@ct.de
Copyright © 2009 Heise Medien