
Vulnerabilità di bypass dell'autenticazione in GNU-InetUtils-telnetd
CVE-2026–24061 è una debolezza critica nel servizio telnetd di GNU InetUtils
ID CVE : CVE-2026–24061
Gravità : Critica (CVSS 9.8)
Vettore d'Attacco : Rete
Autenticazione Richiesta : Nessuna
Impatto : Compromissione totale del sistema (accesso root)
La vulnerabilità ha origine da una gestione impropria della variabile d'ambiente USER durante la configurazione della sessione Telnet, questo valore viene direttamente inoltrato nell'elenco degli argomenti di /usr/bin/login senza alcuna sanificazione o validazione e di conseguenza, un attaccante remoto può manipolare questo input per iniettare opzioni da riga di comando, bypassando efficacemente l'autenticazione e ottenendo una shell di root istantaneamente
Il seguente frammento da telnetd/utility_file.c mostra come i valori forniti dall'utente venivano usati direttamente senza validazione:
case 'h':
return xstrdup (remote_hostname);
case 'l':
return xstrdup (local_hostname);
case 'L':
return xstrdup (line);
case 't':
q = strchr (line + 1, '/');
if (q)
q++;
else
q = line;
return xstrdup (q);
case 'T':
return terminaltype ? xstrdup (terminaltype) : NULL;
case 'u':
return user_name ? xstrdup (user_name) : NULL;
case 'U':
return getenv ("USER") ? xstrdup (getenv ("USER")) : xstrdup ("");
Problema :
I valori controllati dall'utente USER, terminaltype e line : sono usati senza validazione. e copiati direttamente nelle strutture interne
Poiché questi valori possono essere influenzati da un client remoto tramite il protocollo Telnet, questo crea un punto di iniezione critico
Flusso dell'attacco :
Proof of Concept
Una proof of concept minima dimostra come sfruttare la vulnerabilità:
USER='-f root' telnet -a <ipaddr>
telnet -l -'f root' ip_addr
Questo comando inietta un valore USER malintenzionato durante l'handshake Telnet, che può portare a un accesso root non autorizzato su sistemi vulnerabili
Ho completato un laboratorio riguardante CVE-2026–24061, dove ho sfruttato la vulnerabilità usando telnet -l '-f root' 176.16.2.153 per iniettare argomenti malintenzionati e ottenere un bypass dell'autenticazione, ottenendo infine accesso a livello root sul sistema target

Cosa succede internamente :
1 - l : si riferisce al nome di login
2 - '-f root': valore passato come nome utente, (-f : nessun controllo password - salta autenticazione), (root: utente target))
3 - Il server vulnerabile non effettua sanificazione
4 - Interpreta -f come un flag invece che come parte di un nome utente
Questo mi ha permesso di iniettare argomenti malintenzionati, bypassare l'autenticazione e ottenere accesso a livello root sul sistema target
Riepilogo Tecnico
Il difetto risiede in come telnetd gestisce l'opzione Telnet NEW_ENVIRON. Permette a un client di definire variabili d'ambiente che vengono passate al binario /usr/bin/login del sistema. Poiché telnetd non sanifica la variabile USER, un attaccante può iniettare il flag -f (forza login), che dice all'utility di login di saltare la verifica della password e concedere immediatamente una sessione per l'utente specificato (tipicamente root)