Evasión de autenticación en GNU Inetutils telnetd (CVE-2026-24061): acceso remoto como root sin contraseña

Una nueva vulnerabilidad crítica ha sido identificada en GNU Inetutils, una colección de herramientas de red ampliamente utilizada en múltiples distribuciones Linux. El fallo, catalogado como GNU Inetutils – CVE-2026-24061, afecta directamente al servicio telnetd y permite la evasión completa del proceso de autenticación.
En escenarios vulnerables, un atacante remoto puede iniciar sesión sin contraseña e incluso elegir el usuario bajo el cual acceder al sistema, incluyendo cuentas privilegiadas como root.
¿Qué es GNU Inetutils y por qué es relevante?
GNU Inetutils es un paquete que incluye herramientas clásicas como:
- telnet
- telnetd
- ftp
- rsh
- rlogin
- ping
- traceroute
Aunque muchos entornos modernos han migrado a SSH, todavía existen sistemas legacy, laboratorios, dispositivos embebidos y entornos internos donde Telnet sigue activo, convirtiéndose en un vector crítico cuando aparecen vulnerabilidades como esta.
Cómo funciona normalmente la autenticación en telnetd
Cuando un cliente inicia una conexión Telnet contra un servidor vulnerable, el demonio telnetd no gestiona directamente la autenticación. En su lugar, invoca el binario del sistema:
/bin/login
Los parámetros típicos incluyen:
- -p → Preserva el entorno (tty actual)
- -h → Indica el host remoto
- Nombre del usuario → pasado como argumento final
Ejemplo conceptual:
/bin/login -p -h localhost usuario
El binario /bin/login se encarga de solicitar la contraseña y validar credenciales.
El problema aparece cuando los parámetros no son correctamente sanitizados antes de ser enviados al proceso de autenticación.
¿Dónde está el fallo? Inyección de argumentos en /bin/login
La vulnerabilidad CVE-2026-24061 se basa en una inyección de argumentos durante la invocación del binario /bin/login.
Debido a una validación insuficiente de entrada, el nombre de usuario puede interpretarse como parámetros adicionales del comando.
Por ejemplo:
-f root
El parámetro -f en login indica que el usuario ya fue autenticado previamente, omitiendo el proceso de verificación de contraseña.
En consecuencia, si el atacante utiliza:
-f root
El proceso puede transformarse internamente en algo equivalente a:
/bin/login -p -h localhost -f root
Resultado: acceso directo como root sin autenticación.
Parche y corrección oficial
El equipo de GNU Inetutils publicó parches de emergencia que introducen una función de sanitización para validar correctamente la entrada antes de invocar /bin/login.
La corrección incorpora una función sanitize() que:
- Rechaza cadenas que comiencen con –
- Filtra caracteres especiales potencialmente peligrosos
- Evita que la entrada del usuario sea interpretada como argumentos adicionales
Esto previene la inyección de parámetros arbitrarios.
CVE-2026-24061 es un recordatorio más de que los servicios legacy siguen siendo una de las superficies de ataque más peligrosas en infraestructuras Linux.
No se trata únicamente de aplicar un parche. Se trata de cuestionar por qué Telnet sigue activo en entornos productivos.
En seguridad moderna:
- Si no está cifrado, no debería existir.
- Si no es necesario, debe eliminarse.
- Si es legacy, debe aislarse.
Referencias
- CVE-2026-24061
- NVD – CVE-2026-24061
- Ubuntu Security Advisory
- login(1) — Linux manual page