
Un exploit PoC per CVE-2026-24061 - Bypass dell'autenticazione tramite iniezione di argomenti in GNU InetUtils telnetd
Le versioni di GNU InetUtils dalla 1.9.3 alla 2.7 sono vulnerabili a un bypass remoto dell'autenticazione nel server telnetd. Il demone telnetd non riesce a sanificare correttamente la variabile d'ambiente USER prima di passarla come argomento da riga di comando al programma login(1). Quando un client telnet invia una variabile d'ambiente USER contenente flag da riga di comando (come -f root), telnetd passa direttamente questo valore non sanificato al programma di login. L'utility login interpreta il flag -f come un'istruzione per bypassare l'autenticazione, consentendo a un attaccante di ottenere accesso root non autorizzato senza fornire alcuna credenziale.
Implementazione completa del protocollo Telnet
DO, DONT, WILL e .WONTIniezione automatica del payload
ENVIRON appositamente modificato con l'iniezione USER=-f root.Shell interattiva
Gestione della connessione
Debug dettagliato
python3 exploit.py <target> -p <port> [options]
| Argomento | Descrizione |
|---|---|
target | Indirizzo IP o hostname del target |
| Opzione | Descrizione |
|---|---|
-p, --port | Porta del target (predefinita: 23) |
-v, --verbose | Abilita l'output di debug dettagliato |
-t, --timeout | Timeout di connessione in secondi (predefinito: 5) |
-k, --keepalive | Intervallo di keepalive in secondi (predefinito: 30) |
-h, --help | Mostra il messaggio di aiuto |
python3 exploit.py 192.168.1.100
python3 exploit.py 192.168.1.100 -p 2323 -v
python3 exploit.py 10.0.0.5 -p 2323 -k 60 -t 10
Stabilimento della connessione
Negoziazione del protocollo
SGA, ECHO e ENVIRON).Consegna del payload
WILL ENVIRON seguito dal payload di subnegoziazione appositamente modificato.Bypass dell'autenticazione
-f root viene iniettato in login(1) per bypassare i controlli delle credenziali.Sessione interattiva
L'exploit sfrutta l'opzione Telnet ENVIRON (RFC 1572) per iniettare argomenti da riga di comando nella variabile d'ambiente USER.
Quando telnetd passa questo valore non sanificato a login -f root, il programma di login interpreta -f come un flag che forza il bypass dell'autenticazione, concedendo accesso root senza verifica della password.
Lo script dell'exploit implementa:
WILL, WONT, DO, DONT)NOP di keepalive per mantenere la stabilità della sessione$ python3 exploit.py 127.0.0.1 -p 2323
[!] Coded By: K3ysTr0K3R
[*] Telnet Authentication Bypass
[*] Connecting to 127.0.0.1:2323
[+] Connection established
[+] Exploit payload sent (19 bytes)
# id
uid=0(root) gid=0(root) groups=0(root)
# whoami
root
#
Gli amministratori di sistema possono rilevare i tentativi di exploit monitorando:
ENVIRON.USER contenenti -f o altri flag da riga di comando.Aggiornare a GNU InetUtils versione 2.8 o applicare la patch di sicurezza ufficiale che sanifica le variabili d'ambiente prima di passarli a login(1).
Questa prova di concetto è intesa esclusivamente per ricerca sulla sicurezza, validazione delle vulnerabilità e ambienti di test autorizzati. Utilizzare solo contro sistemi per i quali si dispone dell'autorizzazione esplicita a eseguire valutazioni di sicurezza.