Eine Sicherheitslücke von vor mehr als 15 Jahren in Netfilter ermöglichte die Eskalation von Privilegien

Vor ein paar Tagen wurde die Nachricht veröffentlicht, dass in Netfilter wurde eine Schwachstelle identifiziert (ein Linux-Kernel-Subsystem zum Filtern und Ändern von Netzwerkpaketen), das ermöglicht einem lokalen Benutzer, Root-Rechte zu erlangen in einem Systemsogar in einem isolierten Behälter.

Die Sicherheitsanfälligkeit CVE-2021-22555 Es ist ein Problem, das seit Kernel 2.6.19 besteht, startete vor 15 Jahren und ist verursacht durch einen Fehler in den Treibern IPT_SO_SET_REPLACE und IP6T_SO_SET_REPLACE, was beim Senden speziell dekorierter Parameter über den setsockopt-Aufruf im Compat-Modus einen Pufferüberlauf verursacht.

Vielleicht werden sich viele an dieser Stelle fragen, wie es möglich ist, dass ein Fehler im Linux-Kernel so lange unbemerkt bleibt und die Antwort darauf ist, dass die Schwachstelle, obwohl der Fehler seit Linux 2.6.19 vorhanden war, durch Code gefunden wurde audit, obwohl der C-Code nicht reproduzierbar war, so dass er nicht ausgenutzt werden konnte, da zu diesem Zeitpunkt die erforderlichen Ressourcen zur Eskalation der Berechtigungen nicht gefunden wurden.

Die Unterstützung für unprivilegierte Benutzernamensräume ist beispielsweise in Kernel 3.8 enthalten. Außerdem haben einige Distributionen einen Patch, der sysctl hinzufügt, um nicht privilegierte Benutzernamensräume zu deaktivieren.

Unter normalen Umständen kann nur der Root-Benutzer compat_setsockopt() aufrufen., Aber die erforderlichen Berechtigungen einen Angriff ausführen Sie können auch von einem nicht privilegierten Benutzer abgerufen werden auf Systemen mit aktivierten Benutzernamensräumen.

CVE-2021-22555 ist eine 15 Jahre alte Stack-Out-of-Stack-Schreibschwachstelle in Linux Netfilter, die stark genug ist, um alle modernen Sicherheitsmaßnahmen zu umgehen und Kernel-Code-Ausführung zu erreichen.

Als solches wird beschrieben, dass ein lokaler Benutzer kann einen Container mit einem separaten Root-Benutzer erstellen und die Schwachstelle von dort aus ausnutzenich. "Benutzernamensräume" sind beispielsweise standardmäßig in Ubuntu und Fedora enthalten, nicht jedoch in Debian und RHEL.

Diese Sicherheitsanfälligkeit kann ausgenutzt werden, indem die Datei teilweise überschrieben wird m_list->nextZeiger msg_msgStruktur und das Erreichen einer freien Nachnutzung. Dies ist leistungsstark genug, um Ihren Kernel-Code unter Umgehung von KASLR, SMAP und SMEP zum Laufen zu bringen.

Außerdem tritt ein Problem in der Funktion xt_compat_target_from_user () aufgrund einer falschen Berechnung der Speichergröße beim Speichern von Kernelstrukturen nach der Konvertierung von der 32-Bit- in die 64-Bit-Darstellung auf.

Als solches wird das erwähnt der Fehler ermöglicht das Schreiben von vier "Null"-Bytes an eine beliebige Position außerhalb des Puffers zugeordnet, begrenzt durch Offset 0x4C. Aus diesem Grund wird erwähnt, dass Es stellte sich heraus, dass diese Funktion ausreicht, um einen Exploit zu erstellen wodurch Root-Rechte erlangt werden können: durch Löschen des m_list-> next-Zeigers in der msg_msg-Struktur wurden die Bedingungen für den Zugriff auf die Daten nach dem Freigeben von Speicher geschaffen (use-after-free), die dann verwendet wurden, um Informationen über Adressen und Änderungen zu erhalten zu anderen Strukturen, indem Sie den Systemaufruf msgsnd() manipulieren.

Bei der Fehlermeldung handelt es sich, wie bei jeder erkannten Schwachstelle, um einen Prozess und die Meldung, die im April an die Kernel-Entwickler geschickt wurde, mit der sie anschließend in wenigen Tagen behoben wurde und den Patch, der in allen unterstützten Distributionen enthalten ist, so dass Informationen über den Fehler können später veröffentlicht werden.

Die Projekte Debian, Arch Linux und Fedora haben bereits Paketaktualisierungen generiert. Ab Ubuntu sind RHEL- und SUSE-Updates in Arbeit. Weil der Fehler schwerwiegend ist, in der Praxis ausnutzbar und ermöglicht das Entweichen aus dem Behälter, Google schätzte seine Entdeckung auf 10,000 US-Dollar und verdoppelte die Belohnung an den Forscher, der die Schwachstelle identifiziert hat, und zur Identifizierung einer Methode, um die Isolierung von Kubernetes-Containern auf dem kCTF-Cluster zu vermeiden.

Zum Testen wurde ein funktionierender Prototyp eines Exploits vorbereitet die die Schutzmechanismen KASLR, SMAP und SMEP umgeht.

Schließlich Wenn Sie mehr darüber wissen 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.