Linux-Sicherheitslücke „Dirty Pipe“ entdeckt
Max Kellermann erklärte, dass die Schwachstelle Linux Kernel 5.8 und spätere Versionen betrifft.
Am Montag veröffentlichte ein Cybersicherheitsforscher die Details einer Linux-Sicherheitslücke, die es einem Angreifer ermöglicht, Daten in beliebigen schreibgeschützten Dateien zu überschreiben.
Die Schwachstelle – CVE-2022-0847 – wurde von Max Kellermann im April 2021 entdeckt, es dauerte jedoch noch einige Monate, bis er herausfand, was tatsächlich geschah.
Um die Sicherheitslücke auszunutzen, muss der Angreifer über Leseberechtigungen verfügen, der Offset darf nicht auf einer Seitengrenze liegen, der Schreibvorgang darf eine Seitengrenze nicht überschreiten und die Dateigröße kann nicht geändert werden.
„Um diese Schwachstelle auszunutzen, müssen Sie: eine Pipe erstellen, die Pipe mit beliebigen Daten füllen (um das PIPE_BUF_FLAG_CAN_MERGE-Flag in allen Ringeinträgen zu setzen), die Pipe entleeren (wobei das Flag in allen struct pipe_buffer-Instanzen im struct pipe_inode_info-Ring gesetzt bleibt). ), Daten aus der Zieldatei (geöffnet mit O_RDONLY) direkt vor dem Zieloffset in die Pipe einfügen [und] beliebige Daten in die Pipe schreiben“, erklärte er.
„Diese Daten überschreiben die zwischengespeicherte Dateiseite, anstatt eine neue anonyme Struktur „pipe_buffer“ zu erstellen, da PIPE_BUF_FLAG_CAN_MERGE gesetzt ist. Um diese Schwachstelle interessanter zu machen, funktioniert sie nicht nur ohne Schreibberechtigungen, sondern auch mit unveränderlichen Dateien auf schreibgeschützten BTRFS-Snapshots und auf schreibgeschützten Mounts (einschließlich CD-ROM-Mounts). Das liegt daran, dass der Seitencache immer beschreibbar ist (vom Kernel) und beim Schreiben in eine Pipe niemals irgendwelche Berechtigungen überprüft werden.
Er teilte auch seinen eigenen Proof-of-Concept-Exploit mit.
Der Fehlerbericht, der Exploit und der Patch wurden am 20. Februar von Kellermann an das Linux-Kernel-Sicherheitsteam gesendet. Der Fehler wurde auf Google Pixel 6 reproduziert und ein Fehlerbericht wurde an das Android-Sicherheitsteam gesendet.
Linux veröffentlichte am 23. Februar Fixes (5.16.11, 5.15.25, 5.10.102) und Google hat Kellermanns Fehlerbehebung am 24. Februar in den Android-Kernel integriert.
Kellermann und andere Experten verglichen die Sicherheitslücke mit CVE-2016-5195 „Dirty Cow“, sagten jedoch, dass sie noch einfacher auszunutzen sei.
Dirty Pipe PoC (https://t.co/ql5Y8pWDBj) funktioniert wunderbar. 🤑 pic.twitter.com/OrRYJE5skC
Mike Parkin von Vulcan Cyber sagte, dass jeder Exploit, der Root-Zugriff auf ein Linux-System ermöglicht, problematisch sei.
„Ein Angreifer, der Root erlangt, erhält die volle Kontrolle über das Zielsystem und kann diese Kontrolle möglicherweise nutzen, um andere Systeme zu erreichen. Der mildernde Faktor bei dieser Schwachstelle besteht darin, dass sie lokalen Zugriff erfordert, was das Risiko etwas senkt“, sagte Parkin.
„Die Ausweitung der Berechtigungen auf Root (POSIX-Familie) oder Admin (Windows) ist oft die erste Priorität eines Angreifers, wenn er sich Zugriff auf ein System verschafft, da er dadurch die volle Kontrolle über das Ziel erhält und ihm helfen kann, auf andere Opfer Einfluss zu nehmen. Das ist nicht der Fall.“ „Das hat sich seit Ewigkeiten nicht geändert und wird sich auch in absehbarer Zukunft wahrscheinlich nicht ändern.“
Shweta Khare, Cybersecurity-Evangelistin bei Delinea, stellte fest, dass mehrere Windows-Kernel-, DNS-Server-RCE- und Adobe-Schwachstellen mit hoher Schweregradbewertung in diesem Jahr bereits für Schlagzeilen gesorgt haben, weil sie es Angreifern ermöglichen, erhöhte lokale System- oder Administratorrechte zu erlangen.
Betriebssystemfehler und Sicherheitslücken auf Anwendungsebene wie diese können es Angreifern ermöglichen, Berechtigungen zu erhöhen, sich seitlich innerhalb des Netzwerks zu bewegen, beliebigen Code auszuführen und Geräte vollständig zu übernehmen, sagte Khare.