
Um exploit PoC para CVE-2026-24061 - Bypass de Autenticação por Injeção de Argumento no telnetd do GNU InetUtils
As versões 1.9.3 a 2.7 do GNU InetUtils são vulneráveis a uma vulnerabilidade remota de bypass de autenticação no servidor telnetd. O daemon telnetd não sanitiza adequadamente a variável de ambiente USER antes de passá-la como argumento de linha de comando para o programa login(1). Quando um cliente telnet envia uma variável de ambiente USER contendo flags de linha de comando (como -f root), o telnetd passa diretamente esse valor não sanitizado para o programa login. O utilitário login interpreta a flag -f como uma instrução para ignorar a autenticação, permitindo que um invasor obtenha acesso root não autorizado sem fornecer nenhuma credencial.
Implementação Completa do Protocolo Telnet
DO, DONT, WILL e WONT.Injeção Automática de Payload
ENVIRON especialmente criado com a injeção USER=-f root.Shell Interativo
Gerenciamento de Conexão
Debug Detalhado
python3 exploit.py <target> -p <port> [options]
| Argument | Description |
|---|---|
target | Endereço IP ou nome de host alvo |
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
Estabelecimento de Conexão
Negociação de Protocolo
SGA, ECHO e ENVIRON).Entrega do Payload
WILL ENVIRON seguido pelo payload de subnegociação criado.Bypass de Autenticação
-f root é injetado no login(1) para ignorar as verificações de credenciais.Sessão Interativa
O exploit aproveita a opção Telnet ENVIRON (RFC 1572) para injetar argumentos de linha de comando na variável de ambiente USER.
Quando o telnetd passa esse valor não sanitizado para login -f root, o programa login interpreta -f como uma flag que força o bypass de autenticação, concedendo acesso root sem verificação de senha.
O script do exploit implementa:
WILL, WONT, DO, DONT)NOP para manter a estabilidade da sessão$ 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
#
Administradores de sistema podem detectar tentativas de exploração monitorando:
ENVIRON.USER contendo -f ou outras flags de linha de comando.Atualize para a versão 2.8 do GNU InetUtils ou aplique o patch de segurança oficial que sanitiza as variáveis de ambiente antes de passá-las para o login(1).
Esta prova de conceito destina-se apenas a pesquisa de segurança, validação de vulnerabilidades e ambientes de teste autorizados. Use apenas em sistemas para os quais você tenha permissão explícita para realizar avaliações de segurança.
| Option | Description |
|---|
-p, --port | Porta alvo (padrão: 23) |
-v, --verbose | Ativar saída de debug detalhada |
-t, --timeout | Timeout de conexão em segundos (padrão: 5) |
-k, --keepalive | Intervalo de keepalive em segundos (padrão: 30) |
-h, --help | Exibir a mensagem de ajuda |