In GDM wurde eine Sicherheitsanfälligkeit festgestellt

Ein Sicherheitsforscher von GitHub enthüllt vor kurzem Sie haben eine Sicherheitsanfälligkeit festgestellt (CVE-2020-16125) in GNOME Display Manager (GDM), der für die Anzeige des Anmeldebildschirms verantwortlich ist.

Kombiniert mit einer anderen Sicherheitslücke im Kontoverfolgungsdienst (Konten-Daemon), Das Problem ermöglicht es dem Code, als root ausgeführt zu werden.  Die Sicherheitsanfälligkeit ist mit dem falschen Start des Dienstprogramms zur Erstkonfiguration verbunden, wenn über DBus nicht auf den Kontodämon-Dienst zugegriffen werden kann.

Über Verwundbarkeit

Ein nicht privilegierter Benutzer kann den Account-Daemon-Prozess zum Absturz bringen oder auflegen, Was schafft die Voraussetzungen Damit das Dienstprogramm gnome-initial-setup über GDM ausgeführt werden kann, über das sich ein neuer Benutzer als Mitglied der sudo-Gruppe registrieren kann, dh Programme als root ausführen kann.

Typischerweise GDM ruft gnome-initial-setup auf, um den ersten Benutzer festzulegen wenn das System keine Konten enthält. Die Überprüfung der Existenz von Konten erfolgt durch Kontaktaufnahme mit dem Konten-Daemon. Wenn der angegebene Prozess fehlschlägt, geht GDM davon aus, dass die Konten fehlen, und startet den Erstkonfigurationsprozess.

Der Forscher identifizierte zwei Möglichkeiten, um den Daemon-Account-Prozess zu stören- Der erste (CVE-2020-16126) ist auf ein falsches Zurücksetzen der Berechtigungen und der zweite (CVE-2020-16127) Fehler bei der Verarbeitung einer ".pam_environment" -Datei zurückzuführen.

Zusätzlich Eine weitere Sicherheitslücke wurde in Daemon-Konten gefunden (CVE-2018-14036) verursacht durch falsche Dateipfadprüfungen und das Lesen beliebiger Dateiinhalte auf dem System.

Die Sicherheitslücken im Accounts-Daemon werden durch Änderungen von Ubuntu-Entwicklern verursacht und erscheinen nicht im Hauptcode des Accounts-Daemon des FreeDesktop-Projekts und des Debian-Pakets.

Das CVE-2020-16127-Problem ist in einem in Ubuntu hinzugefügten Patch enthalten, der die Funktion is_in_pam_environment implementiert, mit der der Inhalt der Datei .pam_environment aus dem Home-Verzeichnis des Benutzers gelesen wird. Wenn Sie anstelle dieser Datei einen symbolischen Link zu / dev / zero einfügen, hängt der Account-Daemon-Prozess von unendlichen Lesevorgängen ab und reagiert nicht mehr auf Anforderungen über DBus.

Es ist ungewöhnlich, dass eine Sicherheitsanfälligkeit in einem modernen Betriebssystem so einfach auszunutzen ist. In einigen Fällen habe ich Tausende von Codezeilen geschrieben, um eine Sicherheitsanfälligkeit auszunutzen. 

Die meisten modernen Exploits beinhalten komplizierte Tricks, z. B. die Verwendung einer Sicherheitsanfälligkeit bezüglich Speicherbeschädigung, um gefälschte Objekte im Heap zu fälschen, oder das Ersetzen einer Datei durch einen Symlink mit einer Genauigkeit von Mikrosekunden, um eine TOCTOU-Sicherheitsanfälligkeit auszunutzen. 

Daher ist es heutzutage relativ selten, eine Sicherheitsanfälligkeit zu finden, für deren Ausnutzung keine Programmierkenntnisse erforderlich sind. Ich denke auch, dass die Sicherheitsanfälligkeit leicht zu verstehen ist, selbst wenn Sie keine Vorkenntnisse über die Funktionsweise von Ubuntu oder Erfahrung in der Sicherheitsforschung haben.

Die Sicherheitsanfälligkeit in CVE-2020-16126 wird durch einen anderen Patch verursacht Dadurch werden die Berechtigungen des aktuellen Benutzers während der Verarbeitung einiger DBus-Aufrufe zurückgesetzt (z. B. org.freedesktop.Accounts.User.SetLanguage).

Der Account-Daemon-Prozess wird normal als Root ausgeführt, wodurch verhindert wird, dass ein normaler Benutzer Signale sendet.

Aber dank des hinzugefügten Patches Prozessberechtigungen können zurückgesetzt werden und der Benutzer kann diesen Prozess beenden, indem er ein Signal sendet. Um einen Angriff auszuführen, erstellen Sie einfach die Bedingungen zum Entfernen von Berechtigungen (RUID) und senden Sie ein SIGSEGV- oder SIGSTOP-Signal an den Account-Daemon-Prozess.

Der Benutzer beendet die grafische Sitzung und wechselt zur Textkonsole (Strg-Alt-F1).
Nach Beendigung der grafischen Sitzung versucht GDM, den Anmeldebildschirm anzuzeigen, bleibt jedoch hängen, wenn versucht wird, eine Antwort vom Konten-Daemon zu erhalten.

Die SIGSEGV- und SIGCONT-Signale werden von der Konsole an den Account-Daemon-Prozess gesendet, wodurch dieser hängen bleibt.

Sie können auch Signale senden, bevor Sie die grafische Sitzung beenden. Sie müssen dies jedoch mit einer Verzögerung tun, um Zeit zum Beenden der Sitzung zu haben, und bevor das Signal gesendet wird, hatte GDM Zeit zum Starten.

Die Anforderung an den Konten-Daemon in GDM schlägt fehl und GDM ruft das Dienstprogramm gnome-initial-setup auf, in dessen Schnittstelle es ausreicht, ein neues Konto zu erstellen.

Die Sicherheitsanfälligkeit wurde in GNOME 3.36.2 und 3.38.2 behoben. Die Ausnutzung der Sicherheitsanfälligkeit wurde in Ubuntu und seinen Derivaten bestätigt.

Quelle: https://securitylab.github.com


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.