Der Fehler erlaubt es Benutzern, die Einschränkungen der Privilegien zu umgehen, um Befehle als root auszuführen.
Eine Schwachstelle in Sudo, einem Kernbefehlsprogramm für Linux, könnte es einem Benutzer ermöglichen, Befehle als Root-Benutzer auszuführen, selbst wenn dieser Root-Zugriff ausdrücklich verboten wurde.
Sudo ist ein Dienstprogramm, das es einem Systemadministrator ermöglicht, bestimmten Benutzern (oder Benutzergruppen) die Möglichkeit zu geben, Befehle im Kontext eines beliebigen anderen Benutzers - auch als root - auszuführen, ohne sich mit einem anderen Profil anmelden zu müssen. Sudo protokolliert auch alle Befehle und Argumente in einem zentralen Audit-Trail-System, so dass die Administratoren wissen, welcher Benutzer welchen Befehl in welchem Kontext ausgeführt hat. Admins können als Sicherheitsmaßnahme bestimmten Benutzern den Root-Zugriff auch ausdrücklich verbieten. So kann z.B. der Benutzer Alice die Möglichkeit haben, die Dateien und die Arbeit ihrer Abteilung zu überwachen, aber sie hat keine Superuser-Privilegien.
Der Fehler (CVE-2019-14287) erlaubt es Angreifern, diese eingebaute Sicherheitsoption zu umgehen, um den Root-Zugriff für bestimmte Benutzer zu blockieren.
Red Hat, das den Fehler mit einem Schweregrad von 7,8 von 10 auf der CvSS-Skala bewertete, erklärte in einem Posting am Montag, dass "ein Fehler in der Art und Weise gefunden wurde, wie Sudo laufende Befehle mit beliebiger Benutzer-ID implementiert hat. Wenn ein Sudoers-Eintrag so geschrieben wird, dass der Angreifer einen Befehl als beliebiger Benutzer außer root ausführen kann, kann dieser Fehler vom Angreifer dazu benutzt werden, diese Einschränkung zu umgehen.
Die von Joe Vennix von Apple Information Security entdeckte Schwachstelle kann ausgenutzt werden, indem man einfach die Benutzer-ID der Person, die Befehle ausführt, mit "-1" oder "4294967295" angibt. Dank des Fehlers werden diese beiden Benutzer-IDs automatisch auf den Wert "0" aufgelöst, der die Benutzer-ID für den Root-Zugriff darstellt. Da Sudo kein Passwort benötigt, um Befehle im Kontext eines anderen Benutzers auszuführen, ist der Schwierigkeitsgrad laut Red Hat gering.
Linux-Distributionen, die das Schlüsselwort "ALL" in der RunAs-Spezifikation in der Konfigurationsdatei /etc/sudoers enthalten, sind betroffen. Das Schlüsselwort "ALL" erlaubt es allen Benutzern einer bestimmten Gruppe, jeden Befehl als jeder gültige Benutzer auf dem System auszuführen und ist laut Red Hat in der Regel in den Standardkonfigurationen von Linux vorhanden.
"Dies kann von einem Benutzer mit ausreichenden Sudo-Privilegien genutzt werden, um Befehle als root auszuführen, auch wenn die Runas-Spezifikation den root-Zugriff explizit verbietet, solange das Schlüsselwort ALL in der Runas-Spezifikation an erster Stelle steht", so das Sudo-Projekt in einem Posting am Montag.
Sudo hat die Schwachstelle mit der Veröffentlichung der Version 1.8.28 behoben, die die Linux-Distributionen nun für ihre Benutzer ausrollen müssen.