CVE-2026-24061 | Telnetd en GNU Inetutils Permite Eludir la Autenticación Remota Mediante la Variable de Entorno USER
telnetd en GNU Inetutils desde la versión 1.9.3 hasta la versión 2.7 permite eludir la autenticación remota mediante el valor «–f root» de la variable de entorno USER.
Este error ha pasado desapercibido durante casi 11 años, se reveló el 20 de enero de 2026 a las 15:00:07 por el investigador Kyu Neushwaistein, alias Carlos Cortés Álvarez y ha sido catalogado como CVE-2026-24061 con un impacto crítico de 9.8/10.
ANÁLISIS DE LA VULNERABILIDAD
El servidor telnetd invoca a /usr/bin/login (que normalmente se ejecuta como root), pasando el valor de la variable de entorno USER recibida del cliente como último parámetro.
Si el cliente define un valor a la variable de entorno USER cuidadosamente elaborado como USER=’–f root‘, y pasa el parámetro telnet –a o —login para enviar el entorno USER al servidor, el cliente iniciará sesión automáticamente como root, sin pasar por los procesos de autenticación normales.
Esto ocurre porque el servidor telnetd no sanitiza la variable de entorno USER antes de pasarla a login, y login utiliza el parámetro –f para omitir la autenticación normal.
EXPLOTANDO LA VULNERABILIDAD CVE-2026-24061
Tenemos instalada la versión 2.6 en la máquina


Se produce una escalada de privilegios a root sin necesidad de emplear técnicas complejas, es extremadamente fácil y eso lo hace más peligroso.
El bug se introdujo en este commit del 19 de marzo de 2015: https://codeberg.org/inetutils/inetutils/commit/fa3245ac8c288b87139a0da8249d0a408c4dfb87
RECOMENDACIONES
No ejecutes ningún servidor telnetd. Restringe el acceso de red al puerto telnet.
Actualmente no parece haber una versión que corrija dicha vulnerabilidad. La última versión disponible en los repostiorios oficiales: https://ftp.gnu.org/gnu/inetutils/
SOLUCIÓN ALTERNATIVA
Desactiva el servidor telnetd o haz que InetUtils telnetd utilice una herramienta de inicio de sesión personalizada o que impida el uso del parámetro –f.
FRAGMÉNTOS VULNERABLES DEL CÓDIGO FUENTE
La plantilla para invocar a login se encuentra en en archivo del repositorio telnetd/telnetd.c
https://codeberg.org/inetutils/inetutils/src/branch/master/telnetd/telnetd.c

La expansión de variables se produce en el archivo telnetd/utility.c
https://codeberg.org/inetutils/inetutils/src/branch/master/telnetd/utility.c


Comments are closed