Linux-Lücke Dirty COW gestopft: Die „schmutzige Kuh“ ist vom Eis

Ferdinand Thommes
31 Kommentare
Linux-Lücke Dirty COW gestopft: Die „schmutzige Kuh“ ist vom Eis
Bild: dirtycow.ninja | CC0 1.0

Der Linux Kernel ist von einer Sicherheitslücke befreit worden, die seit mindestens elf Jahren und Kernel 2.6.22 dort schlummerte und durch eine Race Condition eine Rechteausweitung erlaubte. Laut Linus Torvalds gewann die Uralt-Lücke erst mit der fortschreitenden Kernelentwicklung an Brisanz.

Die jetzt geschlossene Sicherheitslücke wurde nicht nur als CVE-2016-5195 katalogisiert, sondern hat den Namen Dirty COW bekommen. Allein diese Tatsache weist auf die Gefährlichkeit hin und stellt sie in eine Reihe mit anderen schweren Sicherheitslücken der letzten Zeit, wie Heartbleed und Poodle. Zudem liegen Anhaltspunkte dafür vor, dass Cyberkriminelle die Lücke bereits vor der kürzlichen Entdeckung durch Sicherheitsforscher kannten und ausnutzten.

Entdeckt wurde die Lücke von Phil Oester von Red Hat im Memory-Subsystem des Kernels bei der Copy-On-Write-Funktion (COW). Durch eine Race Condition konnte ein lokaler Nutzer Schreibrechte für Dateien erlangen, für die er eigentlich nur Leserechte hat (Privilege-Escalation Vulnerability). Dies reicht allerdings noch nicht zum Ausführen von Code (Code-Execution Vulnerability), hierzu müsste eine weitere Lücke gefunden werden, die dies erlaubt.

Linus Torvalds, der die Lücke selbst geschlossen hat, schreibt in seiner Stellungnahme, er habe den damals rein theoretischen Fehler bereits einmal vor elf Jahren – schlecht, wie er heute einräumt – behoben. Da der damalige Fix aber Probleme mit der s-390-Architektur brachte, wurde er wieder zurückgezogen. Seit wann der Fehler durch die Weiterentwicklung des Memory-Subsystems seine heutige Brisanz erhielt, ist noch unklar. Nun hat Torvalds das neue Flag FOLL_COW eingeführt, um die Lücke gründlich zu schließen.

Was Torvalds gerne als „Sicherheitstheater“ bezeichnet, wird mit Dirty COW auf die Spitze getrieben und entbehrt nicht der Ironie. So hat ein noch unbekannter Gönner der Lücke nicht nur Namen, Logo und Webseite sowie GitHub-Repository mit nützlichen Informationen über die Lücke verpasst, sondern gleich auch noch einen – allerdings fiktiven – Shop für Fanartikel eingerichtet, dessen fiktiver Gewinn an FreeBSD gespendet werden soll. Dies ist wohl als Wink mit dem Zaunpfahl auf die hohen Sicherheitsansprüche von FreeBSD zu verstehen.

Die Lücke ist mittlerweile in den noch gepflegten Kerneln mit den neuen Versionen 4.8.3, 4.7.9 und 4.4.26 behoben. Derzeit steht nur für Kernel 3.10 eine Beseitigung aus. Die Distributionen arbeiten an aktualisierten Versionen ihrer Kernel.