Alert!

Microsoft findet root-Lücken in Linux

Sicherheitslücken in Linux könnten Nutzer etwa zum Ausführen von Code als root missbrauchen. Microsoft hat die Schwachstellen entdeckt und nennt sie Nimbuspwn.

In Pocket speichern vorlesen Druckansicht 435 Kommentare lesen
Aufmacher Linux-Lücke Nimbuspwn
Lesezeit: 4 Min.
Von
Inhaltsverzeichnis

Bei Code-Analysen hat Microsoft mehrere Sicherheitslücken in Linux entdeckt, durch die Angreifer etwa auf einem Linux-Desktop-System root-Rechte ergattern und somit die Kontrolle darüber übernehmen könnten. Dazu müssten sie die Schwachstellen verketten, die Microsoft unter dem Namen Nimbuspwn bündelt, und könnten schließlich Schadsoftware wie Backdoors einrichten oder andere schädliche Aktionen mit root-Privilegien ausführen.

Die Schwachstellen seien den Forschern bei Code-Analysen durch Lauschen am Systembus aufgefallen. Dabei fanden sie ein ungewöhnliches Muster in der systemd-Komponente networkd-dispatcher.

Bei der Prüfung des Programmflusses von networkd-dispatcher stießen sie auf mehrere Sicherheitsprobleme. Unter anderem auf Directory-Traversal-Lücken, Symlink-Race sowie Time-of-Check-Time-of-Use-Race-Conditions, die miteinander verknüpft zur Ausweitung der eigenen Rechte, dem Unterschieben von Malware oder andere bösartige Aktivitäten missbraucht werden könnten.

Durch Directory-Traversal-Lücken gelingt in der Regel ein unbefugter Zugriff auf Dateien. Bei einem Symlink-Race können Angreifer einen Symlink auf eine Datei anlegen, auf die sie eigentlich nicht zugreifen dürfen. Und bei einer Time-of-Check-Time-of-Use-Race-Condition (TOCTOU) vergeht zwischen einer Prüfung einer Datei und deren Nutzung Zeit, in der Angreifer die Datei durch etwa eine schädliche ersetzen können.

In der Meldung der Sicherheitslücken erläutert Microsoft auch konkret, wie Angreifer diese Schwachstellen zum Ausführen von Code als root ausnutzen können:

1. Der Angreifer muss ein Verzeichnis anlegen, etwa /tmp/nimbuspwn. Darin erstellt er einen Symlink, etwa /tmp/nimbuspwn/poc.d, der auf /sbin verweist. Im Verzeichnis /sbin liegen viele Dateien des Besitzers root. Das missbraucht den Symlink-Race.

2. Für jede Datei in /sbin, die root gehört, platziert der Angreifer eine Datei gleichen Namens im Verzeichnis /tmp/nimbuspwn. Im konkreten Beispiel gehört die ausführbare Datei /sbin/vgs root, für die ein Angreifer den gewünschten Code als /tmp/nimbuspwn/vgs anlegt. Das hilft dem Angreifer später, das TOCTOU-Rennen zu gewinnen.

3. Ein Signal als OperationalState ../../../tmp/nimbuspwn/poc senden. Das nutzt die Directory-Traversal-Lücke, um aus dem Skript-Verzeichnis auszubrechen.

4. Der Signal-Handler des networkd-dispatcher schlägt zu und erstellt die Skript-Liste aus dem Verzeichnis /etc/networkd-dispatcher/../../../tmp/nimbuspwn/poc.d, was tatsächlich der Symlink /tmp/nimbuspwn/poc.d auf das Verzeichnis /sbin ist. Dadurch erstellt er eine Liste, die aus vielen ausführbaren Dateien besteht, die root gehören.

5. Nun muss der Angreifer schnell den Symlink /tmp/nimbuspwn/poc.d auf /tmp/nimbuspwn verbiegen. Dies nutzt die TOCTOU-Race-Condition aus, da sich der Skript-Pfad ändert, ohne dass der networkd-dispatcher dies mitbekäme.

6. Der networkd-dispatcher startet jetzt Dateien, die ursprünglich unter /sbin lagen, nun aber unter /tmp/nimbuspwn zu finden sind. Da der Dispatcher davon ausgeht, dass die Dateien root gehören, führt er sie mittels subprocess.Popen als root aus. Damit hat der Angreifer die Schwachstellen erfolgreich ausgenutzt.

Microsofts Forscher weisen darauf hin, dass sie viele Dateien in dem /tmp/nimbuspwn-Verzeichnis platzierten, um die Wahrscheinlichkeit zu erhöhen, das TOCTOU-Rennen zu gewinnen. In ihren Versuchen genügten dazu drei Versuche.

In ihrem Blog-Beitrag beschreiben die Sicherheitsforscher die Schwachstellen und deren Ausnutzung detaillierter. Die Sicherheitslücken haben CVE-Einträge erhalten, die jedoch bislang noch reserviert und nicht öffentlich einsehbar sind (CVE-2022-29799, CVE-2022-29800). Die konkrete Risiko-Einstufung nach CVSS liegt ebenfalls noch nicht vor. Der Maintainer von networkd-dispatcher, Clayton Craft, hat die Sicherheitslücken demzufolge inzwischen abgedichtet.

Linux-Administratoren sollten die Paketverwaltung der eingesetzten Distributionen nach Aktualisierungen suchen lassen, um ein bereitstehendes Update für systemd oder networkd-dispatcher rasch zu installieren.

(dmk)