
Prova de conceito de exploit para CVE-2026-41940, uma cadeia de bypass de autenticação no WHM/cPanel. Scanner multithread que altera a senha root em alvos vulneráveis. Apenas para testes autorizados.
Este repositório contém um script de Prova de Conceito (PoC) baseado na cadeia de bypass de autenticação do cPanel/WHM (via cookie whostmgrsession e cabeçalhos HTTP). O script altera a senha root após a exploração bem-sucedida e grava o resultado em um arquivo.
Use este software somente em sistemas para os quais você tenha permissão explícita (seu próprio ambiente de laboratório, pentest contratado, teste de segurança aprovado pelo fornecedor). Acesso não autorizado é crime na maioria dos países. Este README destina-se apenas à pesquisa de segurança e conscientização defensiva; os autores não são responsáveis pelo uso indevido.
targets.txt)https/login), vazamento de /cpsess com injeção CRLF, acionamento de do_token_denied, verificação com /json-api/versionres.txtHost (cenários de proxy reverso / host virtual)ThreadPoolExecutor)#!/usr/bin/env python2.7 — o script usa sintaxe Python 2 e urllib / urlparse)requirements.txtpip install -r requirements.txt
Nota: No Python 2, o pacote futures é necessário para concurrent.futures (listado no arquivo). Para portar o script para Python 3, é necessário adaptar diferenças como urllib, urlparse, print, unicode/str e outras; isso não foi feito neste repositório.
python CVE-2026-41940.py <arquivo_lista_alvos> [--hostname HOST_CANONICO] [--threads N] [--timeout SEGUNDOS]
Saída:
res.txt no formato de URL e informações de sessãoAuthorization / cookies e redirecionamentos inesperados.├── CVE-2026-41940.py # Script principal
├── requirements.txt # Dependências pip
└── README.md
Alterar senhas em sistemas de produção após a exploração apresenta risco de perda de dados e interrupção de serviço. Teste em ambientes de laboratório isolados, fora de produção, e com permissão por escrito; compartilhe as descobertas obtidas por meio de processos de divulgação coordenada (coordinated disclosure).
| Argumento | Descrição |
|---|
list_file | Um alvo por linha (host ou URL; se não houver http://, é adicionado https://) |
--hostname | Força o nome canônico a ser usado em Host: e na lógica relacionada em todas as solicitações |
--threads | Número de threads simultâneas (padrão: 15) |
--timeout | Tempo limite de conexão em segundos (padrão: 15) |