Schwachstelle im tty-Subsystem des Linux-Kernels gefunden

Forscher des Google Project Zero-Teams veröffentlicht vor kurzem durch einen Blogbeitrag eine neue Methode zur Ausnutzung von Schwachstellen (CVE-2020-29661) bei der Implementierung des ioctl-Handlers TIOCSPGRP der Linux-Kernel tty-Subsystem, sowie detaillierte Schutzmechanismen, die diese Schwachstellen blockieren könnten.

In dem Beitrag wird erwähnt, dass das Problem wird durch einen Fehler in den Sperreinstellungen verursacht, was zu einer Race Condition im Code von /tty/tty_jobctrl.c führte, die verwendet wurde, um Bedingungen für den Zugriff auf den Speicher nach dem Start (use-after-free) zu schaffen, die vom Benutzerraum durch Manipulation mit ioct- durch Aufrufen von TIOCSPGRP ausgenutzt wurden.

Zusätzlich zu den veröffentlichten Informationen auch eine funktionale Exploit-Demo wurde durchgeführt für Privilegieneskalation in Debian 10 mit Kernel 4.19.0-13-amd64 und was auch nicht ausschließt, dass es verschiedene Distributionen betreffen kann, darunter natürlich solche, die auf Debian basieren und davon abgeleitet sind.

Viele der einzelnen Exploitationstechniken und Minderungsoptionen, die ich hier beschreibe, sind nicht neu. Ich denke jedoch, dass es sich lohnt, sie zusammen zu schreiben, um zu zeigen, wie verschiedene Abschwächungen mit einem ziemlich normalen After-Free-Exploit interagieren.

Die für den Exploit relevanten Code-Schnipsel in diesem Blog-Beitrag stammen aus der Vorgängerversion 4.19.160, da darauf der Debian-Zielkernel basiert; einige andere Codeschnipsel stammen von der Linux-Mainline.

Gleichzeitig wird in dem veröffentlichten Artikel Der Schwerpunkt liegt nicht so sehr auf der Technik, einen funktionalen Exploit zu erstellen, sondern darauf, welche Tools es gibt im Kernel um sich zu schützen gegen solche Schwachstellen.

Das Fazit ist enttäuschend, wie erwähnt, werden Methoden wie die Segmentierung des Speichers im Heap und die Kontrolle des Speicherzugriffs nach der Freigabe in der Praxis nicht angewendet, da sie zu Leistungseinbußen und Schutz auf der Grundlage von CFI (Control Flow Integrity) führen, das Exploits im späteren Verlauf blockiert Stadien eines Angriffs, erfordert Verbesserungen.

Eine besondere Art von Endgeräten sind Pseudo-Terminals, die verwendet werden, wenn Sie beispielsweise eine Terminal-Anwendung in einer grafischen Umgebung öffnen oder sich über SSH mit einem entfernten Rechner verbinden. Während andere Endgeräte mit irgendeiner Art von Hardware verbunden sind, werden beide Enden eines Pseudo-Terminals durch den Benutzerbereich gesteuert, und Pseudo-Terminals können frei durch den Benutzerbereich (ohne Privilegien) erstellt werden.

Immer wenn /dev/ptmx geöffnet wird (kurz für "Pseudo-Terminal Multiplexer"), stellt der resultierende Dateideskriptor die Geräteseite (in der Dokumentation und den Kernel-Quellen als "das Master-Pseudo-Terminal" bezeichnet) eines Geräts dar. new pseudo Terminal.

 Das entsprechende Endgerät (zu dem sich normalerweise eine Shell verbindet) wird vom Kernel automatisch unter /dev/pts/ angelegt. .

Wenn man sich ansieht, was auf lange Sicht einen Unterschied machen könnte, liegt der Schwerpunkt auf der Verwendung fortgeschrittener statischer Analysatoren oder der Verwendung speichersicherer Sprachen wie Rust und C-Dialekte mit erweiterten Anmerkungen (wie Proven C), um Status-, Sperren-, Objekte und Zeiger. Die Schutzmethoden erwähnen auch die Aktivierung des panic_on_oops-Modus, der die Kernel-Strukturen schreibgeschützt macht und den Zugriff auf Systemaufrufe durch Mechanismen wie seccomp beschränkt.

Der Fehler, der das Problem verursacht es wurde am 3. Dezember letzten Jahres im Linux-Kernel behoben. Das Problem manifestiert sich in Kerneln vor Version 5.9.13, aber die meisten Distributionen haben das Problem in den Kernelpaket-Updates behoben, die letztes Jahr angeboten wurden.

Eine ähnliche Schwachstelle wird auch erwähnt (CVE-2020-29660), die zeitgleich bei der Implementierung des TIOCGSID-ioctl-Aufrufs gefunden, aber auch überall beseitigt wurde.

Schließlich Wenn Sie mehr darüber erfahren möchten, Sie können die Details überprüfen im folgenden Link.


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: AB Internet Networks 2008 SL
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.