Zum Hauptinhalt Zur Navigation

Security: Speicherfehler in Sudo ermöglicht Root-Rechte

Die Lücke in Sudo ist trivial ausnutzbar und dürfte jede aktuelle Linux -Distribution betreffen. Updates stehen bereit.
/ Sebastian Grüner
58 Kommentare News folgen (öffnet im neuen Fenster)
Das Logo von Sudo ist ein Sandwich. (Bild: Pixabay, Pexels)
Das Logo von Sudo ist ein Sandwich. Bild: Pixabay, Pexels

Das Forschungsteam des IT-Security-Unternehmens Qualys hat eine Sicherheitslücke (CVE-2021-3156) in dem Werkzeug Sudo gefunden, das auf so ziemlich jedem Unix-artigen Betriebssystem vorhanden ist. In der Ankündigung dazu heißt es: "Jeder nicht privilegierte Benutzer kann mit Hilfe einer Standard-Sudo-Konfiguration Root-Berechtigungen für einen anfälligen Host erhalten, indem diese Sicherheitslücke ausgenutzt wird."

Bei der Sicherheitslücke handelt es sich um einen klassischen Speicherfehler (Heap-Based Buffer Overflow), der in der Programmiersprache C auftreten kann. Wie die Entdecker in ihrem Blog(öffnet im neuen Fenster) schreiben, wurde der betroffene Code erstmals im Juli 2011 in Sudo eingepflegt, also vor fast zehn Jahren. Die von dem Open-Source-Projekt veröffentlichten Versionen 1.8.2 bis 1.8.32p2 sowie 1.9.0 bis 1.9.5p1 enthalten demnach die Sicherheitslücke.

Aufgrund des Alters des anfälligen Codes und der quasi universellen Verbreitung des Werkzeugs Sudo dürfte so ziemlich jede aktuelle Linux-Distribution von dem Fehler betroffen sein. Die Forscher von Qualys haben die Ausnutzung der Sicherheitslücke auf Ubuntu 20.04, Debian 10 und Fedora 33 bestätigt. Der Fehler kann laut dem Sudo-Projekt(öffnet im neuen Fenster) auch dann ausgenutzt werden, wenn der für den Angriff genutzte Account nicht in der Sudoers -Datei eingetragen ist. Eine Authentifizierung des Accounts ist ebenfalls nicht notwendig.

Die Sicherheitslücke ist auf ein fehlerhaftes Parsing von Kommandozeilenargumenten zurückzuführen. Dies tritt auf, wenn Sudo im Shell-Modus genutzt wird, wobei Sonderzeichen unter bestimmten Umständen nicht über eine Escape-Sequenz abgefangen werden. Der Code liest dabei auch über das eigentliche Ende eines Strings hinaus, wenn dieser mit dem Zeichen "\" endet, was zu dem Überlauf führt.

Das Team von Qualys hat einen kurzen Befehl in seinem Blog veröffentlicht, mit dem sich die Verwundbarkeit der eigenen Systeme überprüfen lässt. Die verschiedenen Linux-Distributor haben darüber hinaus bereits ein Update für die Lücke bereit gestellt, das eingespielt werden sollte.


Relevante Themen