Linux: Kernel-Bug erlaubt Sandbox-Ausbrüche
Mit dem Systemaufruf Futex(öffnet im neuen Fenster) im Linux-Kernel lässt sich verhindern, dass zwei eventuell nebenläufige Prozesse versuchen, gleichzeitig auf dieselbe Datenstruktur zuzugreifen und diese zu verändern. Ein auf die Daten wartender Prozess kann wieder aufgeweckt werden, wenn die Daten bereitstehen. Ein nun aufgedeckter Fehler in dem Code erlaubt Nutzern Kontrolle über den Ring 0(öffnet im neuen Fenster) , also vollen Zugriff auf den Kernel.
In der Ankündigung, die über Debian-Security(öffnet im neuen Fenster) und OSS-Sec(öffnet im neuen Fenster) verfügbar ist, heißt es, damit ließe sich ein Absturz des Kernels verursachen. Nutzer könnten damit aber auch vollen Zugriff auf das laufende System erhalten. Ausgenutzt werden kann der Fehler(öffnet im neuen Fenster) , indem eine " Waiter-Variable " durch den Systemaufruf auf dem " Stack hängen bleibt ". Durch weitere Futex-Aufrufe ließe sich der Stack dann verändern und damit die Struktur des " Waiter ". Wird dieser im Anschluss wieder aufgeweckt, kann dieser benutzt werden, um beliebigen Code im Ring 0 auszuführen.
Besonders kritisch ist der Fehler, weil die meisten Sandbox-Mechanismen unter Linux diese Funktion direkt oder indirekt über die Glibc verwenden. Das gilt etwa auch für die Sandbox im Chrome-Browser von Google, die derartige Sicherheitsprobleme ja eigentlich verhindern soll.
Patches für den Kernel des aktuellen Debian-Stable stehen inzwischen bereit, für Debian Sid sollen die Änderungen demnächst folgen. Seit vergangenem Abend sind Patches auch im Zweig von Linus Torvalds(öffnet im neuen Fenster) enthalten und es stehen Backports bis Kernel 2.6.32 zur Verfügung. Die Behebung des Fehlers sollte entsprechend in den kommenden Tagen für die meisten Linux-Distributionen als Update bereitstehen.
- Anzeige Hier geht es zu Hacking & Security: Das umfassende Handbuch bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.