Ein “faszinierendes” Kernel-Leck

Ein Sicherheitsforscher hat jetzt ein Leck im Linux-Kernel entdeckt, über das sich verschiedene Sicherheitstechnologien des Betriebssystems umgehen lassen. Die Schwachstelle kommt jedoch erst durch Überoptimieren des Compilers hinzu; im Sourcecode selbst existiert sie nicht.

Von dem Leck sind die Versionen 2.6.30 und 2.6.18 und in beiden Fällen sowohl die 32- wie auch die 64-Bit-Version. Die Kernel-Version 2.6.18 wird von Red Hat Enterprise Linux 5 verwendet. Über den Exploit, dessen Sourcecode bereits von Brad Spengler über die Mailingliste ‘Dailydave’ veröffentlich wurde, lässt ein Umgehen der Null-Pointer Dereference-Protection zu. Auf diese Weise könne ein Angreifer als Root auf ein System zugreifen.

Über das Ausführen beliebigen Codes können außerdem Sicherheits-Features wie Auditing, Security-Enhanced Linux (SELinux), AppArmor und das Linux Security Module deaktiviert werden. Dabei wird dem Betriebssystem außerhalb des Kernels vorgegaukelt, dass diese Anwendungen noch immer intakt sind und laufen.

Kurioserweise verstärkt das Hinzufügen der Kernelmodifikation SELinux, das eigentlich für mehr Sicherheit sorgen soll, unter dem Exploit das Betriebssystem noch weiter. Der Exploit nutze den Compiler, um eine Schwachstelle einzuführen, die es im Quellcode gar nicht gibt. So kommt auch der Forscher des Sans Institute, Bojan Zdrnjadas SANS Institute in einem Blog zu dem Schluss, dass es sich um ein faszinierendes Leck handelt.

Spengler empfiehlt Administratoren als Workaround, den Kernel mit der Option -fno-delete-null-pointer-checks zu kompilieren.