Detecção e remediação em uma única execução para servidores cPanel/WHM comprometidos via CVE-2026-41940, incluindo verificações de IOC, limpeza de malware, bloqueio de C2 e aplicação de patches.
Detecção e remediação em uma única execução para servidores cPanel/WHM comprometidos via CVE-2026-41940 e a campanha do botnet
nuclear.x86.
Em 28 de abril de 2026, a cPanel divulgou uma vulnerabilidade de bypass de autenticação pré-autenticação (CVE-2026-41940, CVSS 9.8) que afeta todas as versões suportadas de cPanel & WHM após a 11.40. Uma única requisição HTTP para a porta 2087 permite que um atacante não autenticado injete uma sessão user=root e entre diretamente no WHM.
A exploração tem sido observada na natureza desde pelo menos 23 de fevereiro de 2026 — seis semanas antes do patch ser lançado. A campanha que limpamos em vários servidores instala um botnet Linux chamado nuclear.x86 juntamente com um minerador de criptomoedas baseado em XMRig.
Este repositório contém um único script Bash que:
/scripts/upcp --forceFoi projetado para provedores de hospedagem, administradores de sistemas e revendedores cPanel que precisam fazer triagem de uma frota rapidamente.
Se wget ou curl retornarem Killed ao tentar baixar arquivos, o malware ainda está em execução — o nuclear.x86 mata ativamente ferramentas de download para impedir a limpeza. Execute a etapa de kill primeiro (o script faz isso por você no modo --fix).
Se você não conseguir baixar este script por causa disso, copie e cole via SSH a partir do seu laptop, ou use scp.
# Como root, no servidor cPanel:
cd /root
wget https://raw.githubusercontent.com/shahidmallaofficial/cpanel-cve-2026-41940-fix/main/fix-cpanel-cve-2026-41940.sh
chmod +x fix-cpanel-cve-2026-41940.sh
Ou com curl:
cd /root
curl -fsSLO https://raw.githubusercontent.com/shahidmallaofficial/cpanel-cve-2026-41940-fix/main/fix-cpanel-cve-2026-41940.sh
chmod +x fix-cpanel-cve-2026-41940.sh
Comando único (revise o script primeiro, depois execute):
cd /root && \
curl -fsSLO https://raw.githubusercontent.com/shahidmallaofficial/cpanel-cve-2026-41940-fix/main/fix-cpanel-cve-2026-41940.sh && \
chmod +x fix-cpanel-cve-2026-41940.sh && \
less fix-cpanel-cve-2026-41940.sh
# Após revisar, execute:
./fix-cpanel-cve-2026-41940.sh
Verifique antes de executar. Este script roda como root e modifica o estado do sistema. Abra-o e leia-o primeiro. Não envie scripts aleatórios da internet diretamente para o
bash.
# 1. Somente verificação (padrão, sem alterações — sempre seguro de executar)
./fix-cpanel-cve-2026-41940.sh
# 2. Verificação + remediação, com prompt de confirmação para cada ação destrutiva
./fix-cpanel-cve-2026-41940.sh --fix
# 3. Automático completo: correção + atualização do cPanel + limpeza de cache + endurecimento leve
./fix-cpanel-cve-2026-41940.sh --auto
# 4. Sem supervisão (sem prompts — para cron, jump-boxes, scripts de frota)
./fix-cpanel-cve-2026-41940.sh --auto -y
# 5. Ajuda
./fix-cpanel-cve-2026-41940.sh --help
| Código | Significado |
|---|---|
0 | Limpo — nenhum IOC detectado |
2 | Indicadores de comprometimento detectados (revise o relatório) |
1 / outro | Falha de pré-execução (não é root, não é um servidor cPanel, etc.) |
/var/log/cpanel-cve-fix/scan-<TIMESTAMP>.log/var/log/cpanel-cve-fix/report-<TIMESTAMP>.txt/root/cve-cleanup-backup-<TIMESTAMP>/| # | Verificação | O que detecta |
|---|---|---|
| 1 | Build do cPanel vs. versões corrigidas | Hosts vulneráveis (lista todas as 6 builds corrigidas) |
| 2 | Processos em execução | nuclear.x86, xmrig, cpuminer, minerd, xmr-stak, 4thepool_miner |
| 3 | Conexões de rede ativas | Os três IPs de C2 conhecidos + portas de mining-pool |
| 4 | Arquivos de histórico do shell | Comandos IOC em bash_history / zsh_history |
| 5 | Sanidade do firewall | A etapa de sabotagem iptables -F |
| 6 | Diretório raw de sessões do cPanel | Arquivos de sessão forjados user=root |
| 7 | /tmp, /var/tmp, /dev/shm | Executáveis recentemente depositados |
| 8 | Entradas de cron | Persistência (sistema + por usuário) |
| 9 | Arquivos authorized_keys | Novas chaves SSH — auditoria somente leitura |
| 10 | Logs de acesso do cPanel | Assinaturas de exploração Go-http-client / python-requests |
| 11 | Binários críticos | wget / curl / ls / ps adulterados (mtime + verificação RPM) |
/var/cpanel/sessions/raw/* (com backup tar.gz primeiro)cpsrvd, cpdavd, cphulkd, queueprocd, dnsadmin/scripts/upcp --force (somente em --auto)rndc flush), logs antigos do journalLF_INTEGRITY se disponívelEstas ações causariam mais dano do que benefício quando executadas sem supervisão via SSH, então elas vão para o relatório de ações manuais:
/home/*/public_htmlPara varrer muitos servidores a partir de uma jump-box:
mkdir -p reports
while read -r host; do
echo "=== $host ==="
scp fix-cpanel-cve-2026-41940.sh "root@${host}:/root/" >/dev/null
ssh "root@${host}" '/root/fix-cpanel-cve-2026-41940.sh --auto -y'
scp "root@${host}:/var/log/cpanel-cve-fix/report-*.txt" "reports/${host}.txt" 2>/dev/null
done < servers.txt
Depois, filtre os relatórios:
grep -l "COMPROMISE INDICATORS PRESENT" reports/*
O script listará estas ações no relatório. Nenhuma delas pode ser automatizada com segurança.