»Dirty Pipe« schlimmer als »Dirty Cow«

Vor zwei Wochen stieß der Entwickler Max Kellerman von der Firma CM4all eher zufällig auf eine Sicherheitslücke, die er »Dirty Pipe« nannte und die mittlerweile als CVE-2022-0847 katalogisiert ist. Der Name weist auf Ähnlichkeiten mit »Dirty Cow« hin, einer Sicherheitslücke im Kernel, die 2016 entdeckt wurde und als CVE-2016-5195 referenziert wird. In beiden Fällen geht es um eine Rechteausweitung. Ein unprivilegierter lokaler Benutzer konnte »Dirty Cow« nutzen, um Schreibzugriff auf ansonsten schreibgeschützte Speicherzuordnungen zu erhalten und so seine Privilegien auf dem System erhöhen.

Seit Linux 5.8 leichter auszunutzen

Die jetzt von Kellerman entdeckte Schwachstelle im Linux-Kernel ist dort in Version 5.8 mit dem Commit f6dd975583bd (“pipe: merge anon_pipe_buf*_ops”) eingeführt worden und funktioniert aufgrund von nicht initialisierten Variablen. Der Fehler resultiert aus einer Überarbeitung des Kernel-Codes für Verarbeitung von Pipes (ein Mechanismus, mit dem ein Betriebssystemprozess Daten an einen anderen Prozess senden kann) und öffnet die Tür, um den Inhalt des Seiten-Caches zu überschreiben und ermöglicht damit nicht vorgesehene Änderungen im Dateisystem.

Es ermöglicht theoretisch jedem, beliebige Daten in beliebige Dateien zu schreiben, selbst wenn die Datei O_RDONLY, unveränderlich oder mit dem Mount-Flag MS_RDONLY versehen ist. Mittlerweile wurde die Lücke in den Kerneln 5.16.11, 5.15.25 und 5.10.102 geschlossen. Google hat Kellermans Fix bereits am 24. Februar in den Android-Kernel integriert. Kellerman betont, der Fehler sei bereits vor Linux 5.8 vorhanden gewesen und wurde durch die Überarbeitung lediglich leichter ausnutzbar.

Glück im Unglück

Auch und besonders Android-Geräte sowie Smart-TVs und Geräte des IoT sind gefährdet, da hier oft ältere Kernel verwendet werden und Aktualisierungen generell länger benötigen als direkt unter Linux. Hier können manipulierte Apps zur feindlichen Übernahme der Geräte führen. Dabei haben ironischerweise viele Geräte vermutlich Glück, da die verwendeten Kernel älter als Linux 5.8 sind.

Dringend aktualisieren

»Dirty Pipe« wird als noch leichter ausnutzbar als sein Vorgänger beschrieben. So soll es ein leichtes sein, beispielsweise das Passwort in /etc/passwd zu entfernen und so jedem Root-Zugang zu der Maschine zu erlauben. Jeder unprivilegierte Nutzer kann einen Rechner mit Root-Zugriff per SSH ausstatten, sodass Angreifer aus der Ferne uneingeschränkten Zutritt haben. Die technischen Hintergründe erläutert Kellerman in einem Papier. Die Kernel, in denen die Lücke geschlossen wurde, sollten mittlerweile in den meisten Distributionen angekommen sein.

Teilt den Beitrag, falls ihr mögt

Vielleicht gefällt Dir auch

6 Kommentare
Newest
Oldest Most Voted
Inline Feedbacks
View all comments