Privilegienausweitung in Linux: Lokale Nutzer können fremde Dateien lesen

vor 1 Stunde 1

Es ist die vierte Sicherheitslücke innerhalb weniger Tage, die Linux-Nutzern eine Ausweitung ihrer Privilegien ermöglicht: Ein Sicherheitsforscher mit dem Spitznamen _SiCK veröffentlichte auf Github mehrere Beispiele, die eine Lücke in der Speicherverwaltung des Linux-Kernels ausnutzen, um eine Wettlaufsituation (Race Condition) zu gewinnen.

Das Beispiel (Proof of Concept - PoC) mit den wohl stärksten Auswirkungen ist ssh-keysign-pwn, das den SSH-Private-Key der Maschine ausliest. Dieser ist unter normalen Umständen nur für den Root-Nutzer lesbar. Weitere PoC-Exploits existieren für „chage“, das während seiner Ausführung die Passwortdatei /etc/shadow liest – und sind prinzipiell für jede andere ausführbare Datei denkbar, die mit Rootrechten läuft (setuid root).

Die Sicherheitslücke versteckt sich tief im Speicher- und Prozessmanagement des Linux-Kernels. Die Funktion ptrace_may_access() schlägt bei Prozessen, die gerade beendet werden, auf eine zu offene Art fehl (fail open). Gewinnt der Exploit eine Race Condition, kann er trotz fehlender Berechtigungen Dateien lesen, die von dem sterbenden Prozess zuvor geöffnet worden waren, also etwa /etc/shadow bzw. /etc/ssh/ssh_host_key.

Gefunden hatte den Fehler das Sicherheitsunternehmen Qualys, behoben wurde er von Linux-Verwalter Torvalds am späten Donnerstagnachmittag. Nur wenig später wurde grsecurity-Gründer Brad Spengler auf den Fehler aufmerksam, widmete ihm eine Kurzanalyse im sozialen Netzwerk X und weckte damit den Ehrgeiz des Sicherheitsforschers _SiCK. Eine CVE-Kennung hat die Sicherheitslücke bislang nicht.

Bereits vor mehreren Jahren war der Fehler dem Google-Sicherheitsexperten Jann Horn ausgefallen, der damals einen Vorschlag zur Behebung gemacht hatte. Umgesetzt wurde er jedoch nicht.

Der Kernelverwalter Greg Kroah-Hartman schrieb derweil im Fediverse, er habe seine Ausrüstung verbessert. Er habe nun einen „großen Knopf“ auf dem Schreibtisch, um die Veröffentlichung einer neuen Kernelversion auszulösen. Der Knopf wäre ihm gelegen gekommen, um die heutigen Kernel-Releases zu starten, fährt Hartman leicht selbstironisch fort. Tatsächlich enthält der Linux-Kernel 7.0.8 ausschließlich die Fehlerbehebung für die durch ssh-keysign-pwn ausgenutzte Sicherheitslücke.

Die großen und kleineren Linux-Distributionen werden den Fehler nun in neuen Kernelpaketen verpacken und ausliefern müssen, was erfahrungsgemäß eine Weile dauern kann. Bis dahin können Systemverwalter mittels des Kommandos „echo 3 > /proc/sys/kernel/yama/ptrace_scope“ zumindest für alle bisher bekannten Fälle der Sicherheitslücke Abhilfe schaffen.

(cku)

Gesamten Artikel lesen