
Script em Python para detetar a vulnerabilidade telnetd CVE-2026-24061 através de injeção NEW-ENVIRON, fornecendo avaliação de risco e orientação de mitigação.
Uma ferramenta de teste de segurança em Python para detectar vulnerabilidade à injeção de variáveis de ambiente em servidores telnetd por meio da opção telnet NEW-ENVIRON.
Este script testa servidores telnetd para CVE-2026-24061, uma vulnerabilidade que permite que atacantes injetem variáveis de ambiente por meio da opção telnet NEW-ENVIRON. Se um servidor lidar incorretamente com essas variáveis de ambiente, ele pode estar vulnerável a ataques de injeção de comandos ou bypass de autenticação.
O script fornece saída detalhada e codificada por cores, com progresso passo a passo, tratamento abrangente de erros e um resumo final que inclui o resultado do teste, avaliação de risco e análise de impacto.
CVE-2026-24061 é uma vulnerabilidade de segurança em servidores telnetd que lidam incorretamente com variáveis de ambiente enviadas por meio da opção telnet NEW-ENVIRON (RFC 1572).
A vulnerabilidade ocorre quando servidores telnetd:
A opção NEW-ENVIRON (RFC 1572) permite que clientes telnet enviem variáveis de ambiente ao servidor. Um servidor vulnerável pode aceitar e processar essas variáveis sem sanitização, potencialmente permitindo que um atacante injete valores maliciosos que podem levar à execução de comandos ou bypass de autenticação.
Nenhuma instalação necessária. O script é autônomo e usa apenas módulos da biblioteca padrão do Python.
Linux (Ubuntu/Debian):
sudo apt-get update
sudo apt-get install python3
macOS (usando Homebrew):
# Instale o Homebrew se ainda não estiver instalado
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Instale o Python 3
brew install python3
# Verifique a instalação
python3 --version
Windows:
python --version
python --version
Linux/macOS:
./telnetd_CVE‑2026‑24061_test.py <host> [porta]
Windows (Prompt de Comando):
python telnetd_CVE‑2026‑24061_test.py <host> [porta]
Windows (PowerShell):
python telnetd_CVE‑2026‑24061_test.py <host> [porta]
Linux/macOS:
# Teste a porta telnet padrão (23)
./telnetd_CVE‑2026‑24061_test.py 10.0.2.134
# Teste uma porta personalizada
./telnetd_CVE‑2026‑24061_test.py 10.0.2.134 2323
# Torne o script executável (se necessário)
chmod +x telnetd_CVE‑2026‑24061_test.py
# Ou execute diretamente com python3
python3 telnetd_CVE‑2026‑24061_test.py 10.0.2.134 2323
Windows (Prompt de Comando):
REM Teste a porta telnet padrão (23)
python telnetd_CVE‑2026‑24061_test.py 10.0.2.134
REM Teste uma porta personalizada
python telnetd_CVE‑2026‑24061_test.py 10.0.2.134 2323
Windows (PowerShell):
# Teste a porta telnet padrão (23)
python telnetd_CVE‑2026‑24061_test.py 10.0.2.134
# Teste uma porta personalizada
python telnetd_CVE‑2026‑24061_test.py 10.0.2.134 2323
macOS (Python do Homebrew):
# Se estiver usando o Python instalado via Homebrew, use python3 explicitamente
python3 telnetd_CVE‑2026‑24061_test.py 10.0.2.134
# Ou torne executável e execute diretamente
chmod +x telnetd_CVE‑2026‑24061_test.py
./telnetd_CVE‑2026‑24061_test.py 10.0.2.134 2323
NO_COLOR estiver definidaO script fornece quatro resultados possíveis:
[-] NEW-ENVIRON não aceito
[RESULTADO] NÃO IMPACTADO
Significado: O servidor não suporta ou não aceita a opção NEW-ENVIRON. O servidor não está vulnerável a este vetor de ataque específico.
Informações do Resumo:
Ação Necessária:
[!] ENV aceito pelo servidor
[RESULTADO] PROVAVELMENTE IMPACTADO (CVE-2026-24061)
Significado: O servidor aceitou a opção NEW-ENVIRON e parece ter processado a variável de ambiente injetada. O servidor provavelmente está vulnerável à CVE-2026-24061.
Informações do Resumo:
Ação Necessária:
[+] Nenhuma resposta à injeção de ENV
[RESULTADO] INCONCLUSIVO
Significado: O servidor aceitou NEW-ENVIRON, mas não forneceu uma resposta clara. A verificação manual é recomendada.
Informações do Resumo:
Ação Necessária:
[RESULTADO] FALHA NO TESTE - Erro de Comunicação
Significado: O teste não pôde ser concluído devido a um erro de comunicação.
Informações do Resumo:
Ação Necessária:
IAC DO NEW_ENVIRON para solicitar a opção NEW-ENVIRONIAC WILL NEW_ENVIRON)USER=-f root via NEW-ENVIRON-f é uma técnica comum de bypass de loginO script usa valores de bytes padrão do protocolo telnet:
IAC (255): Interpretar como ComandoDO (253): Solicitar habilitação de opçãoWILL (251): Concordar em habilitar opçãoSB (250): Início de SubnegociaçãoSE (240): Fim de SubnegociaçãoNEW_ENVIRON (39): Número da opção NEW-ENVIRON (RFC 1572)O payload de injeção segue o formato RFC 1572:
IAC SB NEW_ENVIRON IS VAR USER <0x01>-f root IAC SE
Onde:
IAC SB: Início da subnegociaçãoNEW_ENVIRON: Identificador da opçãoIS: Subnegociação de InformaçãoVAR: Indicador de tipo de variávelUSER: Nome da variável de ambiente0x01: Byte VALUE-f root: Valor injetadoIAC SE: Fim da subnegociaçãoO script inclui tratamento abrangente de erros para:
Todos os erros são relatados com mensagens claras, codificadas por cores e amigáveis ao usuário, que incluem:
⚠️ Importante: Este script é apenas para testes de segurança autorizados.
Se um servidor for considerado vulnerável:
Ações Imediatas:
Alterações de Configuração:
Soluções de Longo Prazo:
O script detecta automaticamente o suporte a cores do terminal e usa cores ANSI para melhor legibilidade:
NO_COLOR=1FORCE_COLOR=1Exemplo:
# Desativar cores
NO_COLOR=1 ./telnetd_CVE‑2026‑24061_test.py 10.0.2.134
# Forçar cores (útil para alguns terminais)
FORCE_COLOR=1 ./telnetd_CVE‑2026‑24061_test.py 10.0.2.134
Este script é fornecido como está para fins de teste de segurança. Use por sua conta e risco.
SEM GARANTIA
ESTE SOFTWARE É FORNECIDO "NO ESTADO EM QUE SE ENCONTRA", SEM GARANTIA DE QUALQUER TIPO, EXPRESSA OU IMPLÍCITA, INCLUINDO, MAS NÃO SE LIMITANDO ÀS GARANTIAS DE COMERCIABILIDADE, ADEQUAÇÃO A UM FIM ESPECÍFICO E NÃO VIOLAÇÃO. EM NENHUM CASO OS AUTORES OU DETENTORES DE DIREITOS AUTORAIS SERÃO RESPONSÁVEIS POR QUALQUER RECLAMAÇÃO, DANOS OU OUTRA RESPONSABILIDADE, SEJA EM AÇÃO DE CONTRATO, ATO ILÍCITO OU DE OUTRA FORMA, DECORRENTE DE, OU EM CONEXÃO COM O SOFTWARE OU O USO OU OUTRAS NEGOCIAÇÕES NO SOFTWARE.
LIMITAÇÃO DE RESPONSABILIDADE
OS AUTORES, COLABORADORES E DISTRIBUIDORES DESTE SOFTWARE NÃO SERÃO RESPONSÁVEIS POR QUAISQUER DANOS DIRETOS, INDIRETOS, INCIDENTAIS, ESPECIAIS, EXEMPLARES OU CONSEQUENCIAIS (INCLUINDO, MAS NÃO SE LIMITANDO À AQUISIÇÃO DE BENS OU SERVIÇOS SUBSTITUTOS; PERDA DE USO, DADOS OU LUCROS; OU INTERRUPÇÃO DE NEGÓCIOS) INDEPENDENTEMENTE DA CAUSA E SOB QUALQUER TEORIA DE RESPONSABILIDADE, SEJA EM CONTRATO, RESPONSABILIDADE ESTRITA OU ATO ILÍCITO (INCLUINDO NEGLIGÊNCIA OU OUTRA FORMA) DECORRENTE DE QUALQUER FORMA DO USO DESTE SOFTWARE, MESMO SE AVISADO DA POSSIBILIDADE DE TAIS DANOS.
USE POR SUA CONTA E RISCO
Melhorias e relatórios de bugs são bem-vindos. Certifique-se de que quaisquer modificações mantenham o propósito de teste de segurança do script e as diretrizes de uso ético.