A CVE-2026-87899 é uma vulnerabilidade crítica na funcionalidade CalDAV/CardDAV do cPanel. Um titular de conta cPanel autenticado pode elevar seus privilégios e alcançar execução de código como root, obtendo controle completo do servidor. O cPanel publicou builds corrigidos para as linhas mantidas e recomenda atualização imediata.
O que aconteceu
CalDAV e CardDAV fornecem sincronização de calendários e contatos para contas hospedadas. Esses componentes precisam interagir com dados de vários usuários e com serviços privilegiados do painel. Segundo o boletim, uma conta cPanel válida consegue abusar desse caminho para ultrapassar o próprio limite de privilégio e executar código no contexto root.
O fornecedor não publicou payload, endpoint ou sequência técnica, portanto não é correto atribuir a causa a um arquivo ou permissão específica. A condição confirmada é autenticação como conta cPanel; ela pode ser satisfeita por um cliente hostil, credencial roubada ou site comprometido que obtenha acesso ao painel. Depois da escalação, o atacante pode ler ou alterar todos os sites, bancos, e-mails, chaves, backups conectados e configurações do host.
Uma classificação de vulnerabilidade descreve o pior cenário plausível, não confirma que cada servidor tenha sido explorado. A análise correta separa quatro perguntas: o componente existe, a versão está no intervalo afetado, as pré-condições estão presentes e houve evidência de abuso. Essa distinção evita tanto falsa tranquilidade quanto interrupções desnecessárias.
Versões e ambientes afetados e corrigidos
| Produto ou linha | Afetado / exposto | Corrigido / protegido |
|---|---|---|
| cPanel/WHM v120 a v133 | afetado; sem build corretivo listado para ramo legado | migrar para linha suportada e corrigida |
| cPanel/WHM 11.134 | anterior a 11.134.0.57 | 11.134.0.57+ |
| cPanel/WHM 11.136 | anterior a 11.136.0.41 | 11.136.0.41+ |
| cPanel/WHM 11.138 | anterior a 11.138.0.8 | 11.138.0.8+ |
| cPanel WP2 11.138.1 | anterior a 11.138.1.11 | 11.138.1.11+ |
Desabilitar acesso shell não elimina a rota, porque a pré-condição é uma conta autenticada no painel. Se CalDAV/CardDAV estiver desativado, a superfície prática pode diminuir, mas o fornecedor classifica o produto por versão e não oferece essa mudança como correção. Hosts de cliente único também estão expostos caso a credencial dessa conta seja comprometida.
Em pacotes de distribuição, o número upstream nem sempre muda quando o mantenedor aplica um backport. Por isso, a comparação deve considerar o release completo do pacote, o advisory do fornecedor e, quando aplicável, o estado do livepatch. Apenas comparar o primeiro número exibido pelo software pode produzir falso positivo.
Nível de risco e impacto
Crítico, sem CVSS público confirmado na data desta revisão. O resultado declarado é execução como root e controle integral do servidor. O requisito de autenticação reduz a exposição quando comparado a RCE anônimo, mas uma conta de hospedagem não é uma identidade administrativa confiável. Em ambiente multi-tenant, a falha converte o comprometimento de um cliente em incidente de todos os clientes.
Em hospedagem, uma conta local ou um site comprometido não deve ser tratado como ator confiável. Código obtido por plugin desatualizado, credencial roubada ou upload malicioso pode satisfazer a condição “acesso local” e transformar uma falha de kernel ou painel em comprometimento de outras contas. Quando o efeito inclui root, escape, execução de PHP ou tomada de administrador, considere também bancos, chaves, tokens, e-mail e backups conectados.
Como verificar se o servidor ou site está vulnerável
Compare o número completo do build com o mínimo da sua linha. Confirme também o tier de atualização, o serviço DAV e a data dos processos. Não tente reproduzir a escalação: qualquer prova de conceito pode alterar o host e dados de terceiros.
/usr/local/cpanel/cpanel -V
grep -E '^(CPANEL|RPMUP|SARULESUP|STAGING)=' /etc/cpupdate.conf
/usr/local/cpanel/bin/whmapi1 servicestatus service=cpdavd 2>/dev/null
ps -eo pid,lstart,user,cmd | grep -E '[c]pdavd|[c]cs'
find /usr/local/cpanel/logs -maxdepth 1 -iname '*dav*' -ls 2>/dev/null
Por exemplo, 11.138.0.7 continua vulnerável e 11.138.0.8 atende ao mínimo publicado. Não compare apenas o ramo 138. Um pacote novo com processos antigos exige concluir restart/update. Em v120–v133, não há build mínimo listado no advisory: planeje upgrade para uma linha suportada.
Como corrigir ou mitigar
Execute a atualização integral do cPanel para o build corrigido mais recente do tier. Resolva bloqueios do upcp em vez de permanecer em ramo antigo. Como contenção curta, suspenda contas suspeitas e restrinja acesso ao painel e aos serviços DAV após avaliar clientes dependentes; isso não substitui a correção oficial.
/usr/local/cpanel/scripts/upcp --force
/usr/local/cpanel/cpanel -V
/usr/local/cpanel/scripts/check_cpanel_rpms --fix
/usr/local/cpanel/scripts/restartsrv_cpdavd --check 2>/dev/null
Antes da mudança, confirme backup restaurável, acesso alternativo, espaço em disco e integridade dos repositórios. Depois, valide o serviço e a aplicação em vez de considerar o comando concluído como prova suficiente. Mitigações reduzem exposição durante a janela de manutenção, mas devem ser documentadas e removidas ou reavaliadas após o patch definitivo.
Validação posterior e resposta a incidentes
Teste WHM, login cPanel, calendários e contatos em clientes CalDAV/CardDAV, webmail, e-mail e serviços do painel. Investigue processos root incomuns, chaves SSH, sudoers, crons, systemd, módulos, usuários UID 0, arquivos recentes e conexões de saída durante a janela vulnerável. O patch impede nova exploração conhecida, mas não remove persistência já criada.
Atualizar impede novas explorações pela falha conhecida, mas não remove persistência criada antes do patch. Se houver usuário inesperado, arquivo alterado, webshell, cron desconhecido, chave SSH nova, processo anormal ou acesso administrativo sem explicação, isole o ativo, preserve logs e acione resposta a incidentes. Faça rotação de segredos a partir de um equipamento confiável e só restaure o serviço depois de entender o alcance.
Medidas adotadas pela WebinHost
Nos servidores cPanel gerenciados, a WebinHost confirma ramo e build, executa o upcp, reinicia e testa os serviços DAV e revisa sinais de execução privilegiada. Imunify360 ajuda a impedir o comprometimento inicial de sites, e CloudLinux/CageFS limita processos de contas; como esta cadeia termina em root, nenhuma dessas camadas substitui o build corrigido e a investigação do período exposto.
Nos serviços em que o gerenciamento da camada de servidor faz parte do contrato, o fluxo da WebinHost inclui acompanhamento dos canais de segurança dos fornecedores, inventário do componente, avaliação de exposição, aplicação controlada da correção disponível e validação posterior. Quando o kernel e a distribuição são compatíveis, o KernelCare reduz a janela de exposição ao aplicar live patches sem aguardar uma reinicialização; quando a correção exige um novo kernel ou o fornecedor não oferece live patch, a equipe planeja a atualização e o reboot conforme o risco e a janela operacional.
O Imunify360 complementa essa resposta com firewall de aplicação, detecção de malware, defesa proativa e inteligência de reputação nos planos elegíveis. Essas camadas ajudam a bloquear ou detectar tentativas, mas não substituem a correção do pacote vulnerável. CloudLinux e CageFS também aumentam o isolamento entre contas, sem transformar uma versão desatualizada em versão segura.
Tutoriais, downloads e serviços relacionados
Use estes materiais para continuar a verificação com segurança:
Referências oficiais e técnicas
- cPanel — boletim oficial CVE-2026-87899
- CVE.org — CVE-2026-87899
- cPanel Docs — atualização para a versão mais recente
Nota técnica: distribuições Linux e painéis frequentemente aplicam backports. O número exibido por um pacote pode ser diferente da versão upstream e ainda conter a correção. Compare sempre o pacote com o advisory da distribuição ou do painel. Não execute prova de conceito em produção; os comandos deste boletim são de inventário e verificação.