CVE-2023-42456
sudo-rs Vulnerabilità di attraversamento del percorso relativo nel file di sessione
- Pubblicato
- 21 set 2023
- Aggiornato
- 10 giu 2026
- Assegnazione CNA
- GitHub_M
- Evidenza osservata
- 8 ago 2026
CVSS primario
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:HBasso · prossimi 30 giorni
- Percentile
- 45,7%
- Data del modello
- 21 set 2026
L'EPSS è una stima statistica, non una certezza o una misura di impatto. Combinalo con CVSS, stato KEV, esposizione e ambiente.
Riepilogo
# Sudo-rs Sudo-rs, un'implementazione di sudo e su memory-safe, consente agli utenti di non dover inserire l'autenticazione a ogni tentativo di sudo, ma di richiedere l'autenticazione solo ogni tanto in ogni terminale o gruppo di processi. Solo dopo che un timeout configurabile è trascorso, l'utente dovrà ri-autenticarsi. A supporto di questa funzionalità c'è un insieme di file di sessione (timestamp) per ogni utente, memorizzati in `/var/run/sudo-rs/ts`. Questi file sono nominati in base al nome utente da cui viene effettuato il tentativo di sudo (l'utente di origine). È stato scoperto un problema nelle versioni precedenti alla 0.2.1 in cui i nomi utente contenenti i caratteri `.` e `/` potevano causare la corruzione di file specifici sul filesystem. Poiché i nomi utente generalmente non sono limitati nei caratteri che possono contenere, è possibile costruire un nome utente che appaia come un percorso relativo. Ad esempio, potremmo aggiungere al sistema un utente con il nome utente `../../../../bin/cp`. Quando si accede come utente con quel nome, tale utente potrebbe eseguire `sudo -K` per cancellare il proprio file di registrazione della sessione. Il codice di sessione costruisce quindi il percorso del file di sessione concatenando il nome utente alla directory di archiviazione dei file di sessione, ottenendo un percorso risolto di `/bin/cp`. Il codice cancella quindi quel file, con il risultato che il binario `cp` viene effettivamente rimosso dal sistema. Un attaccante deve essere in grado di accedere come utente con un nome utente costruito. Dato che un tale nome utente è improbabile che esista su un sistema esistente, dovrà anche essere in grado di creare gli utenti con i nomi utente costruiti. Il problema è corretto nella versione 0.2.1 di sudo-rs. Sudo-rs ora usa l'uid per l'utente invece del suo nome utente per determinare il nome del file. Si noti che un aggiornamento a questa versione comporterà l'ignoramento dei file di sessione esistenti e gli utenti saranno costretti a ri-autenticarsi. Elimina inoltre completamente qualsiasi possibilità di path traversal, dato che gli uid sono sempre valori interi. I comandi `sudo -K` e `sudo -k` possono essere eseguiti, anche se un utente non ha accesso sudo. Come workaround, assicurarsi che il proprio sistema non contenga utenti con un nome utente appositamente costruito. Finché questo è il caso e finché gli utenti non fidati non hanno la capacità di creare utenti arbitrari sul sistema, non si dovrebbe essere in grado di sfruttare questo problema.
Fonti
1- CVE-2025-32463-EXPLOITExploit
Exploit proof-of-concept per CVE-2023-42456, che dimostra l'escalation dei privilegi tramite hijacking della libreria NSS di sudo attraverso l'iniezione chroot. Include rilevamento automatico della versione, generazione del payload e fuga dal chroot per test di sicurezza autorizzati.
Utilizzo responsabile
Utilizza le informazioni sulla vulnerabilità solo sui sistemi che possiedi o che sei autorizzato a testare. Kitploit si collega ai metadati della ricerca pubblica e non memorizza codici exploit o payload dannosi.