
Exploit de prueba de concepto para la omisión de autenticación de telnetd de GNU Inetutils (CVE-2026-24061) con configuración de laboratorio Docker y PoC en Go. Explota la opción NEW-ENVIRON para obtener un shell root.
¿En serio, telnet en 2026? Vamos, amigos, ya es hora de pasar página. SSH existe desde 1995. 🤦
Una vulnerabilidad crítica de omisión de autenticación en GNU Inetutils telnetd que afecta a las versiones 1.9.3 hasta 2.7.
La vulnerabilidad explota la opción telnet NEW-ENVIRON para inyectar argumentos maliciosos en login(1). Al establecer USER=-f root mediante el protocolo telnet, un atacante puede omitir la autenticación y obtener una shell de root sin credenciales.
El protocolo telnet soporta la opción NEW-ENVIRON (RFC 1572) que permite al cliente enviar variables de entorno al servidor. El daemon telnetd pasa la variable USER a login(1) como argumento.
Al enviar USER=-f root, el valor se interpreta como:
-f: Omitir autenticación (host de confianza)root: Usuario objetivoEsto hace que se ejecute login -f root, otorgando acceso root inmediato.
El PoC detecta la explotación exitosa comprobando IAC WILL ECHO (0xff 0xfb 0x01), la señal de protocolo que el servidor envía cuando se concede acceso a la shell.
# Build and run the vulnerable telnetd container
docker compose up --build -d
# Test the exploit
go run poc.go 127.0.0.1 2323
# Using the Go PoC (with interactive shell)
go run poc.go <target> <port>
# Simple PoC using standard telnet client
env USER='-f root' telnet -a <target> <port>
poc.go - Exploit en Go con shell interactivaDockerfile - Contenedor telnetd vulnerabledocker-compose.yml - Orquestación del laboratorio