
Rust PoC für CVE-2025-32463 (sudo chroot "chwoot" lokale Privilegieneskalation)
HAFTUNGSAUSSCHLUSS
Dieser Code dient ausschließlich Bildungs- und Forschungszwecken.
Verwenden Sie ihn nicht auf Systemen, die Sie nicht besitzen oder für die Sie keine Testberechtigung haben.
Der Autor ist nicht verantwortlich für Missbrauch, Schäden oder rechtliche Konsequenzen, die aus der Verwendung dieses Codes entstehen.
Dies ist eine Implementierung des Exploits für die sudo-chroot-Schwachstelle (CVE-2025-32463), die ich in Rust geschrieben habe, basierend auf der sudo-Advisory und der Stratascale-Advisory. Der Exploit ermöglicht es Ihnen, beliebigen Code in Form einer Shared Library auszuführen, aufgrund eines Fehlers in der Art und Weise, wie sudo mit chroot umgeht.
Wenn Sie die chroot-Option an sudo übergeben, können Sie eine bösartige Datei /etc/nsswitch.conf innerhalb des chroot-Verzeichnisses bereitstellen, die sudo anweist, ein beliebiges Shared Object zu laden. Dieses PoC nutzt dies aus, um einem unprivilegierten Benutzer Root-Zugriff zu gewähren.
Mit den bereitgestellten Binärdateien unter Releases genügt es, Folgendes auszuführen, um root zu erlangen:
./sudo_chroot_exploit
Dies verwendet eine Shared-Library-Payload, die einfach eine Root-Shell startet.
Der Payload-Code (C) liegt unter /payload vor. Außerdem ist eine Makefile für den Build des Codes enthalten. Sie können die Payload nach Belieben ändern oder ersetzen.
Um eine andere Payload als die Standard-Payload anzugeben, können Sie den folgenden Befehl ausführen:
/sudo_chroot_exploit -i custom_payload.so