
Der bei GitHub angestellte Sicherheitsforscher Kevin Backhouse hat zwei Lücken in Ubuntu 20.04 LTS entdeckt, deren Kombination es einem lokalen Angreifer mit einfachen Mitteln erlaubte, einen Root-Account zu erlangen. Die Lücken sind mittlerweile gepatched.
Ohne eine Zeile Code
Backhouse schrieb, es sei ungewöhnlich, dass eine Schwachstelle in einem modernen Betriebssystem so leicht ausgenutzt werden kann wie hier. Zur Ausnutzung der von ihm gefundenen Lücken muss keine einzige Zeile Code geschrieben werden. Die Lücke zur Ausweitung der Rechte ist zweigeteilt. Der erste Teil des Angriffs nutzt einen Fehler im Accountsservice
aus, einem Daemon zur Verwaltung von Userkonten. Dieser Daemon stammt eigentlich aus dem freedesktop-Projekt, wurde aber von den Ubuntu-Entwicklern modifiziert, um eine Datei im Home-Verzeichnis des Benutzers zu lesen.
Backhouse hat zunächst die Datei namens .pam_environment
über einen symbolischen Link an die virtuelle Gerätedatei /dev/zero
geschickt. Der anschließende Versuch, die Sprache des Desktops zu ändern lässt die entsprechende Dialogbox einfrieren. Im Terminal stellt er fest, dass Accountsservice
nun einen CPU-Kern zu 100% auslastet. Nun löscht Backhouse den Symlink, um sich nicht selbst auszusperren.
Der Daemon wird gecrashed
Als Nächstes sendet er das Signal SIGSTOP
zum Unterbrechen von Programmprozessen an den Accountsservice
. Jetzt folgt der einzig kritische Punkt des Exploits: Bevor sich Backhaus von seinem Konto abmeldet, setzt er zunächst per nohup
einen Timer, der ihm das Ausloggen ermöglicht bevor er den Konten-Dämons crasht. Ohne diesen Schritt würde er einfach ausgesperrt und der Exploit wäre fehlgeschlagen.
GDM3 erlaubt Root-Account
Nun stellt beim Login per GDM3 dieser fest, dass kein User-Konto besteht und schaltet das Setup ein, als wäre die eine Neuinstallation. Nun kann ein Root-Account angelegt werden und das System gehört dem Angreifer. Beide Lücken, die Ubuntu-Ausgaben von 16.04 LTS bis zu 20.10 betrafen, sind mittlerweile geschlossen.
Schreibe einen Kommentar