Sudo-Root-Sicherheitslücke, die Linux Mint und Elementary OS betrifft

Im Dienstprogramm sudo, wird verwendet, um die Ausführung von Befehlen im Namen anderer Benutzer zu organisieren, identifiziert Verletzlichkeit (CVE-2019-18634), wodurch Sie Ihre Berechtigungen im System auf den Root-Benutzer erweitern können. Das Problem tritt erst seit der Veröffentlichung von sudo 1.7.1 auf, wenn die Option „pwfeedback“ in der Datei /etc/sudoers verwendet wird, die standardmäßig deaktiviert, aber auf einigen Distributionen wie Linux Mint und Elementary OS aktiviert ist. Problem in der Version behoben Sudo 1.8.31, vor ein paar Stunden veröffentlicht. Die Sicherheitslücke bleibt in den Distributionskits weiterhin bestehen.

Die Option „pwfeedback“ ermöglicht die Anzeige des „*“-Zeichens nach jedem eingegebenen Zeichen bei der Passworteingabe. Wegen Fehler Bei der Implementierung der Funktion getln(), die in der Datei tgetpass.c definiert ist, passt eine zu große Kennwortzeichenfolge, die über den Standardeingabestream (stdin) übergeben wird, unter bestimmten Bedingungen möglicherweise nicht in den zugewiesenen Puffer und überschreibt andere Daten auf dem Stapel. Der Überlauf tritt auf, wenn Sudo-Code als Root ausgeführt wird.

Der Kern des Problems besteht darin, dass bei Verwendung des Sonderzeichens ^U (Zeilenlöschen) während der Eingabe und wenn der Schreibvorgang fehlschlägt, der Code, der für das Löschen der ausgegebenen „*“-Zeichen verantwortlich ist, die Daten auf die verfügbare Puffergröße zurücksetzt, dies jedoch nicht tut Gibt den Zeiger auf den Anfangswert der aktuellen Position im Puffer zurück. Ein weiterer Faktor, der zur Ausnutzung beiträgt, ist das Fehlen einer automatischen Deaktivierung des „pwfeedback“-Modus, wenn Daten nicht vom Terminal, sondern über den Eingabestream eingehen (dieser Fehler ermöglicht die Schaffung von Bedingungen für das Auftreten eines Aufzeichnungsfehlers, beispielsweise auf Systemen mit unidirektional Unbenannte Kanäle Beim Versuch, an das Ende eines Lesekanals zu schreiben, tritt ein Fehler auf.

Da ein Angreifer die vollständige Kontrolle über das Überschreiben von Daten auf dem Stapel hat, ist es nicht schwierig, einen Exploit zu erstellen, der es ihm ermöglicht, seine Rechte auf Root auszuweiten. Das Problem kann von jedem Benutzer ausgenutzt werden, unabhängig von Sudo-Berechtigungen oder benutzerspezifischen Einstellungen in Sudoers. Um das Problem zu blockieren, sollten Sie sicherstellen, dass in /etc/sudoers keine „pwfeedback“-Einstellung vorhanden ist und diese ggf. deaktivieren („Defaults !pwfeedback“). Um zu überprüfen, ob ein Problem vorliegt, können Sie den folgenden Code ausführen:

$ perl -e 'print(("A" x 100 . "\x{00}") x 50)' | sudo -S id
Passwort: Segmentierungsfehler

Source: opennet.ru

Kommentar hinzufügen