
GNU Inetutils telnetd Bypass dell'autenticazione remota
Seriamente, telnet nel 2026? Forza ragazzi, è ora di passare oltre. SSH esiste dal 1995. 🤦
Una vulnerabilità critica di bypass dell'autenticazione in GNU Inetutils telnetd che interessa le versioni dalla 1.9.3 alla 2.7.
La vulnerabilità sfrutta l'opzione telnet NEW-ENVIRON per iniettare argomenti dannosi in login(1). Impostando USER=-f root tramite il protocollo telnet, un attaccante può bypassare l'autenticazione e ottenere una shell di root senza credenziali.
Il protocollo telnet supporta l'opzione NEW-ENVIRON (RFC 1572) che consente al client di inviare variabili d'ambiente al server. Il demone telnetd passa la variabile USER a come argomento.
login(1)Inviando USER=-f root, il valore viene interpretato come:
-f: Salta l'autenticazione (host attendibile)root: Utente di destinazioneQuesto causa l'esecuzione di login -f root, garantendo accesso root immediato.
Il PoC rileva lo sfruttamento riuscito controllando la presenza di IAC WILL ECHO (0xff 0xfb 0x01) - il segnale di protocollo che il server invia quando viene concesso l'accesso alla shell.
# Build ed esecuzione del container telnetd vulnerabile
docker compose up --build -d
# Test dell'exploit
go run poc.go 127.0.0.1 2323
# Utilizzo del PoC in Go (con shell interattiva)
go run poc.go <target> <port>
# PoC semplice con client telnet standard
env USER='-f root' telnet -a <target> <port>
poc.go - Exploit in Go con shell interattivaDockerfile - Container telnetd vulnerabiledocker-compose.yml - Orchestrazione del laboratorio