Sicherheitslücke in sudo, die eine Rechteausweitung bei Verwendung bestimmter Regeln ermöglicht

Im Dienstprogramm Sudo, wird verwendet, um die Ausführung von Befehlen im Namen anderer Benutzer zu organisieren, identifiziert Verwundbarkeit (CVE-2019-14287), mit dem Sie Befehle mit Root-Rechten ausführen können, wenn es in den Sudoers-Einstellungen Regeln gibt, in denen im Abschnitt zur Benutzer-ID-Prüfung nach dem erlaubenden Schlüsselwort „ALL“ ein explizites Verbot der Ausführung mit Root-Rechten besteht („... (ALL, !root) ... " ). Die Schwachstelle tritt in den Standardkonfigurationen von Distributionen nicht auf.

Wenn sudoers über gültige, aber in der Praxis äußerst seltene Regeln verfügt, die die Ausführung eines bestimmten Befehls unter der UID eines anderen Benutzers als Root ermöglichen, kann ein Angreifer, der die Berechtigung zur Ausführung dieses Befehls hat, die festgelegte Einschränkung umgehen und den Befehl mit ausführen Root-Rechte. Um die Einschränkung zu umgehen, versuchen Sie einfach, den in den Einstellungen angegebenen Befehl mit der UID „-1“ oder „4294967295“ auszuführen, was zur Ausführung mit der UID 0 führt.

Wenn es beispielsweise in den Einstellungen eine Regel gibt, die jedem Benutzer das Recht gibt, das Programm /usr/bin/id unter einer beliebigen UID auszuführen:

myhost ALL = (ALL, !root) /usr/bin/id

oder eine Option, die die Ausführung nur für einen bestimmten Benutzer bob ermöglicht:

myhost bob = (ALL, !root) /usr/bin/id

Der Benutzer kann „sudo -u '#-1' id“ ausführen und das Dienstprogramm /usr/bin/id wird trotz des ausdrücklichen Verbots in den Einstellungen als Root gestartet. Das Problem wird dadurch verursacht, dass die Sonderwerte „-1“ oder „4294967295“ übersehen werden, die nicht zu einer Änderung der UID führen, aber da sudo selbst bereits als Root läuft, ohne die UID zu ändern, gilt dies auch für den Zielbefehl mit Root-Rechten gestartet.

In SUSE- und openSUSE-Distributionen besteht ohne Angabe von „NOPASSWD“ in der Regel eine Sicherheitslücke nicht ausnutzbar, da in sudoers standardmäßig der Modus „Defaults targetpw“ aktiviert ist, der die UID mit der Passwortdatenbank vergleicht und Sie auffordert, das Passwort des Zielbenutzers einzugeben. Für solche Systeme ist ein Angriff nur dann möglich, wenn Regeln der Form vorliegen:

myhost ALL = (ALL, !root) NOPASSWD: /usr/bin/id

Problem in der Version behoben Sudo 1.8.28. Der Fix ist auch im Formular verfügbar Patch. In den Distributionskits wurde die Schwachstelle bereits behoben Debian, Arch Linux, SUSE/openSUSE, Ubuntu, Gentoo и FreeBSD. Zum Zeitpunkt des Verfassens dieses Artikels ist das Problem noch nicht behoben RHEL и Fedora. Die Schwachstelle wurde von Sicherheitsforschern von Apple identifiziert.

Source: opennet.ru

Kommentar hinzufügen