
# cve-2025-32463 - Escalation locale dei privilegi a root via Sudo chroot in Linux
sudo chroot <dir name> <command>
Esegue il comando command nel nome di directory specificato.
Questo problema è stato introdotto in sudo v1.9.14, versione che ha aggiornato il codice di corrispondenza utilizzato per la funzionalità chroot.

Questa nuova modifica fa sì che, prima di eseguire il comando chroot, l'ID della directory radice venga modificato per la corrispondenza. Le funzioni specifiche sono definite in plugins/sudoers/pivot.c. Questo file (ora rimosso) definiva le funzioni pivot_root() e unpivot_root() per gestire la logica di corrispondenza di chroot. La chiamata di queste due funzioni attiva un'operazione di Name Service Switch (NSS), che porta il sistema a caricare il file di configurazione /etc/nsswitch.conf da un ambiente non affidabile (poiché chroot è già stato cambiato all'ID della directory radice corrente). Questo file di configurazione contiene direttive che indicano al sistema come recuperare informazioni su utenti, gruppi e host, elencando diverse fonti che vengono cercate in ordine fino a trovare una corrispondenza.
Poiché /etc/nsswitch.conf contiene molte righe di voci, la ricerca delle informazioni segue l'ordine di queste voci. Il punto critico della vulnerabilità è che, quando si effettua una ricerca di una fonte nel file nsswitch.conf, il nome della fonte viene utilizzato come parte del percorso dell'oggetto condiviso, ad esempio: la fonte ldap viene convertita in libnss_ldap.so. Quando una funzione NSS utilizza la fonte ldap, carica tale libreria.
Per un attaccante, chiamare pivot_root() e unpivot_root() attiva operazioni NSS. L'attaccante può quindi costruire una directory radice chroot controllata, contenente un file /etc/nsswitch.conf e file di libreria dannosi. Il Name Service può puntare a moduli NSS personalizzati, in cui possono essere falsificati oggetti condivisi malevoli.
Quando l'attaccante esegue sudo -R <fake_root_dir> <command> tentando di eseguire un comando in modalità chroot, sudo, prima di verificare completamente i permessi, chiama l'NSS di sistema per risolvere le informazioni su utenti/gruppi, leggendo il falso /etc/nsswitch.conf che indica un modulo NSS dannoso. A questo punto, il processo sudo è già stato cambiato nella falsa directory radice e viene ancora eseguito con privilegi root, quindi carica ed esegue il codice della libreria condivisa dannosa dell'attaccante con privilegi di root.
git clone https://github.com/Spongebob-369/cve-2025-32463.git
cd cve-2025-32463
chmod +x run.sh
./run.sh
# after entering the contain Ubuntu
./sudo-chroot.sh
id