
cve-2025-32462' Demo

sudo/NEWS at SUDO_1_8_8 · sudo-project/sudo · GitHub
In der Dokumentation von sudo -h (--host) steht, dass -h nur zusammen mit -l verwendet werden kann. Bei späteren Updates wurde sudo -h erweitert, sodass es auch zusammen mit -e, -i usw. verwendet werden kann.
sudo --host(-h) <username> -l(--list)
/etc/sudoer.d wird verwendet, um anzuzeigen, über welche Berechtigungen ein Benutzer auf einem System verfügt. Diese Berechtigungen können überschritten werden, sodass ein Benutzer auf einem System auf die Berechtigungen zugreifen kann, die er möglicherweise auf einem anderen System besitzt. Dies betrifft insbesondere Systeme, die eine einzelne sudoers-Konfigurationsdatei zwischen mehreren Computern gemeinsam nutzen oder netzwerkbasierte Benutzerverzeichnisse (wie LDAP) zur Bereitstellung von sudoers-Regeln verwenden.
Zusammenfassend: Die Option h/--host von sudo befolgt nicht das Prinzip der geringsten Rechte; in Nicht--l-Szenarien (z. B. bei der Befehlsausführung) wird die Host-Regelgrenze nicht validiert. Ein Angreifer kann in der Datei /etc/sudoer.d böswillige Regeln konfigurieren.
Betroffen sind vor allem Systeme von Administratoren, die auf mehreren Rechnern dieselbe sudoers-Datei verwenden.
Für einen Angriff auf die Schwachstelle müssen zwei Bedingungen erfüllt sein.
Der Angreifer erlangt einen authentifizierten Benutzer.
Das System ist nicht standardmäßig konfiguriert und ist auf zusätzliche Regeln in der sudoers-Datei angewiesen.
Beispiel:
Die sudoers-Datei enthält Regeln, die die Berechtigungen dieses Benutzers auf verschiedenen Systemen festlegen.
Alice hostA: some Privilege
Bob hostB: some Privilege
Bob meldet sich bei hostA an und führt dann den Befehl sudo -h hostB commandA aus.
git clone https://github.com/SpongeBob-369/cve-2025-32462.git
cd cve-2025-32462
chmod +x run.sh
./run.sh
# after entering the contain Ubuntu
sudo -l
# then prompt you to enter your password, but "we" don't know.
sudo -l -h fakehost # Check the permissions user ubuntu have in host named fakehost
sudo -i -h fakehost # get root