Eine Schwachstelle in sudo, die es ermöglicht, Privilegien bei der Verwendung spezifischer Regeln zu erhöhen

In dem Dienstprogramm Sudo, das verwendet wird, um die AusfĂŒhrung von Befehlen im Namen anderer Benutzer zu organisieren, entdeckt eine Schwachstelle (CVE-2019-14287), die es ermöglicht, Befehle mit Root-Rechten auszufĂŒhren, wenn in den sudoers-Einstellungen Regeln vorhanden sind, in denen in der Benutzer-ID-PrĂŒfung nach dem erlaubenden SchlĂŒsselwort „ALL“ ein explizites Verbot zur AusfĂŒhrung mit Root-Rechten folgt („
 (ALL, !root) 
“). In den Standardkonfigurationen der Distributionen tritt die Schwachstelle nicht auf.

Wenn in den sudoers zulĂ€ssige, aber in der Praxis Ă€ußerst selten vorkommende Regeln vorhanden sind, die die AusfĂŒhrung eines bestimmten Befehls unter der UID eines anderen Benutzers als root erlauben, kann ein Angreifer, der die Berechtigung zur AusfĂŒhrung dieses Befehls hat, das festgelegte Limit umgehen und den Befehl mit Root-Rechten ausfĂŒhren. Um das Limit zu umgehen, reicht es aus, zu versuchen, den im Einstellungen angegebenen Befehl mit der UID „-1“ oder „4294967295“ auszufĂŒhren, was zu seiner AusfĂŒhrung mit der UID 0 fĂŒhren wird.

Zum Beispiel, wenn in den Einstellungen eine Regel vorhanden ist, die jedem Benutzer das Recht gibt, das Programm /usr/bin/id unter jeder UID auszufĂŒhren:

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

oder eine Variante, die die AusfĂŒhrung nur fĂŒr den bestimmten Benutzer bob erlaubt:

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

Der Benutzer kann „sudo -u ‘#-1’ id“ ausfĂŒhren, und das Dienstprogramm /usr/bin/id wird mit Root-Rechten gestartet, trotz des expliziten Verbots in den Einstellungen. Das Problem entsteht durch das Übersehen der Sonderwerte „-1“ oder „4294967295“, die nicht zu einem UID-Wechsel fĂŒhren, aber da sudo bereits unter root ausgefĂŒhrt wird, wird auch der Zielbefehl ohne UID-Wechsel mit Root-Rechten ausgefĂŒhrt.

In den Distributionen von SUSE und openSUSE ist die Schwachstelle ohne Angabe von „NOPASSWD“ in der Regel nicht ausnutzbar, da in den sudoers standardmĂ€ĂŸig der Modus „Defaults targetpw“ aktiviert ist, bei dem die UID anhand der Passwortdatenbank ĂŒberprĂŒft wird und eine Eingabeaufforderung fĂŒr das Passwort des Zielbenutzers angezeigt wird. FĂŒr solche Systeme kann der Angriff nur unter bestehenden Regeln wie folgt durchgefĂŒhrt werden:

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

Das Problem wurde in der Version Sudo 1.8.28behoben. Der Fix ist auch in Form eines PatchesverfĂŒgbar. In den Distributionen ist die Schwachstelle bereits behoben in Debian, Arch Linux, SUSE\/openSUSE, Ubuntu, Gentoo und FreeBSD. Zum Zeitpunkt der Erstellung des Berichts bleibt das Problem in RHEL und Fedoraunbehebt. Die Schwachstelle wurde von Sicherheitsexperten des Unternehmens Apple entdeckt.

Quelle: opennet.ru

60GB SSD 8Gb DDR4