Es wurde ein Fehler im Linux Garbage Collector entdeckt, der zu einer Rechteausweitung führen könnte 

Systemd-Sicherheitslücke

Vor ein paar Tagen Jann Horn vom Google Project Zero-Team, die zuvor die Schwachstellen Spectre und Meltdown identifiziert haben, enthüllte eine Technik, um eine Schwachstelle auszunutzen gefunden im Garbage Collector des Linux-Kernels (CVE-2021-4083).

Verletzlichkeit wird durch eine Racebedingung verursacht wenn Unix-Socket-Dateideskriptoren bereinigt werden und ermöglicht möglicherweise einem nicht privilegierten lokalen Benutzer, Ihren Code auf Kernel-Ebene auszuführen.

Das Problem Interessant ist da das Zeitfenster während der die Race-Bedingung auftritt wurde als zu klein eingeschätzt um echte Schwachstellen zu schaffen, aber der Autor der Studie zeigte, dass selbst anfänglich skeptische Schwachstellen zu einer Quelle echter Angriffe werden können, wenn der Ersteller der Schwachstelle über die erforderlichen Fähigkeiten und die Zeit verfügt.

Jan Horn zeigte, wie es mit Hilfe filigraner Manipulationen möglich ist, den Zustand zu reduzieren Ein Rennereignis, das auftritt, wenn die Funktionen close() und fget() gleichzeitig aufgerufen werden, um eine vollständig ausgenutzte Use-after-Free-Schwachstelle zu erreichen und Zugriff auf eine bereits freigegebene Datenstruktur innerhalb des Kernels zu erhalten.

Es tritt eine Racebedingung auf während des Schließens eines Dateideskriptors beim gleichzeitigen Aufruf der Funktionen close() und fget(). Der Aufruf von close() kann ausgeführt werden, bevor fget() ausgeführt wird, was den Elementsammler verwirrt ungenutzt, weil laut refcount die Dateistruktur keine externen Referenzen hat, sondern an den Dateideskriptor gebunden bleibt, d.h. der Garbage Collector wird davon ausgehen, dass er exklusiven Zugriff auf die Struktur hat, aber tatsächlich für einen kurzen Zeitraum, der verbleibende Eintrag in der Dateideskriptortabelle zeigt weiterhin an, dass die Struktur freigegeben wird.

Um die Wahrscheinlichkeit zu erhöhen Eintreten in eine Rennbedingung, Es wurden mehrere Tricks angewendet, die es erlaubten, die Erfolgswahrscheinlichkeit zu erhöhen der Beteiligung bei 30 % bei der Durchführung spezifischer Systemoptimierungen. Um beispielsweise die Zugriffszeit auf eine Struktur mit Dateideskriptoren um mehrere hundert Nanosekunden zu erhöhen, wurden die Daten aus dem Prozessor-Cache gespült, indem der Cache mit Aktivität auf einem anderen CPU-Kern verschmutzt wurde, was es ermöglichte, die Struktur aus dem Speicher zurückzugeben und nicht der schnelle Cache der CPU.

Das zweite wichtige Merkmal es war die Verwendung von Interrupts, die von einem Hardware-Timer erzeugt werden um die Rennzeit zu verlängern. Das Timing wurde so gewählt, dass der Interrupt-Handler während des Auftretens der Race-Bedingung ausgelöst und die Codeausführung für eine Weile unterbrochen wird. Um die Rückgabe der Kontrolle weiter zu verzögern, generierte epoll rund 50 Einträge in der Warteschlange, was eine Iteration im Interrupt-Handler erforderte.

Die Technik Ausnutzung von Schwachstellen wurde nach einer 90-tägigen Geheimhaltungsfrist offengelegt. Das Problem

und es wurde Anfang Dezember behoben. Der Fix war im 5.16-Kernel enthalten und wurde auch in die LTS-Zweige des Kernels und der Pakete mit dem Kernel verschoben, die in den Distributionen bereitgestellt wurden. Es sei darauf hingewiesen, dass die Schwachstelle bei der Analyse eines ähnlichen Problems CVE-2021-0920 identifiziert wurde, das sich im Garbage Collector bei der Verarbeitung des MSG_PEEK-Flags manifestiert.

Eine weitere Schwachstelle, die gefunden wurde Vor kurzem im Linux-Kernel war es das CVE-2022-0742 dass kann den verfügbaren Speicher erschöpfen und aus der Ferne einen Denial-of-Service verursachen durch Senden von speziell präparierten icmp6-Paketen. Das Problem hängt mit einem Speicherverlust zusammen, der bei der Verarbeitung von ICMPv6-Nachrichten mit den Typen 130 oder 131 auftritt.

Das Problem besteht seit Kernel 5.13 und wurde in den Versionen 5.16.13 und 5.15.27 behoben. Das Problem betraf nicht die stabilen Zweige Debian, SUSE, Ubuntu LTS (18.04, 20.04) und RHEL, es wurde unter Arch Linux behoben.

Schließlich wenn Sie mehr darüber wissen möchten der Notiz können Sie die Details einchecken den 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.