Pular para o conteúdo
NEXO CAUSAL
Perícia digital

PHP2Shell: falhas críticas do PHP vazaram antes da correção e já eram testadas por invasores quatro dias antes

Tela de computador com código de programação colorido sobre fundo escuro
Foto: ODE.Studio/Shutterstock, conforme Infosecurity Magazine

A agência americana de segurança cibernética e de infraestrutura, a CISA, incluiu em 26 de outubro de 2026 no seu catálogo de vulnerabilidades exploradas duas falhas críticas do PHP, conhecidas em conjunto como PHP2Shell (CVE-2026-109618 e CVE-2026-109619), que permitem a um invasor sem nenhum privilégio executar código à distância em servidores sem atualização, segundo o BleepingComputer, e o caso ficou marcado porque os detalhes vazaram antes da correção e as primeiras tentativas de ataque apareceram dias antes de existir conserto.

A descoberta e o embargo

As falhas foram encontradas em agosto de 2026 pela Wiz Research, com a empresa Calif e a iniciativa Patch the Planet, da OpenAI, e, pela linha do tempo publicada pela Recorded Future, a Wiz achou a primeira em 19 de agosto, confirmou a execução de código sem autenticação contra o Drupal no dia 20 e contra o WordPress no dia 21 e comunicou o problema em sigilo à equipe de segurança do PHP em 24 de agosto de 2026.

O plano era divulgar as falhas junto com a correção, num processo de divulgação coordenada em que todos guardam o segredo até a data combinada, mas na manhã de 20 de outubro de 2026 um usuário do fórum Hacker News publicou que duas falhas críticas do PHP estavam para ser reveladas, e o texto foi apagado depois de as capturas de tela já circularem nas redes, segundo a empresa de segurança Huntress.

A empresa watchTowr confirmou em poucas horas que as falhas eram reais e que todos deveriam esperar até quinta-feira às 11h no horário da costa leste dos Estados Unidos, e a equipe do PHP antecipou a atualização para quarta-feira, 21 de outubro de 2026, às 14h em UTC, depois que vazaram também os números das falhas e as medidas de mitigação repassadas a alguns operadores de infraestrutura crítica.

Um arquivo com informações vazadas das falhas foi enviado ao VirusTotal às 2h29 em UTC de 21 de outubro de 2026, a Patchstack recebeu às 7h34 em UTC avisos de parceiros de hospedagem sobre vários casos de exploração ativa, e o PHP publicou as versões corrigidas 8.2.35, 8.3.36, 8.4.27 e 8.5.12 às 13h52 em UTC (10h52 em Brasília), antes do horário anunciado.

Onde está o defeito

As duas falhas são de segurança de memória no próprio PHP, e não num aplicativo construído sobre ele, de modo que até um site com código seguro pode ser atingido, segundo a Recorded Future.

A CVE-2026-109618 está no tratamento do erro de falta de memória: quando o PHP fica sem memória enquanto prepara os dados de uma requisição, a preparação é interrompida pela metade e, na limpeza da requisição, esses dados incompletos são tratados como válidos, o que abre caminho para executar código com a conta do processo do servidor web, explica a Huntress.

A CVE-2026-109619 acontece porque o PHP guarda o estado de uma requisição depois que a memória por trás dele já foi liberada, e, se o mesmo processo atender a uma requisição seguinte, o PHP pode usar esse estado velho antes de reiniciá-lo, falha que leva a uso de memória já liberada (use-after-free), vazamento de memória e execução remota de código.

Parte dos caminhos de ataque passa pela função de acompanhamento do progresso de envio de arquivos, que existe desde o PHP 5.4.0 e vem ativada por padrão, e a Wiz mostrou que o vazamento de memória pode expor senhas, tokens de autenticação, chaves de API e certificados de outras requisições.

A linha do tempo da exploração

A equipe de inteligência de ameaças da Amazon informou que os seus sensores-armadilha, a rede de honeypots MadPot, registraram uma tentativa de exploração em 17 de outubro de 2026, quatro dias antes da correção, vinda de um endereço de uma rede comercial de anonimização, o que, para a empresa, indica um atacante, embora não esteja claro como ele obteve informação do ataque antes da divulgação.

No dia 21, a Amazon detectou várias explorações de prova de conceito por volta das 2h no horário de Greenwich, cerca de 12 horas antes da divulgação, com novas tentativas contra os sensores até as 8h a partir de outra infraestrutura, e o diretor de segurança da AWS, CJ Moses, disse que a variação das cargas e das redes de anonimização sugere vários atacantes e que não se sabe se alguma dessas tentativas teria dado certo em sistemas reais.

O presidente da Cloudflare, Matthew Prince, escreveu na rede X que a empresa viu milhares de tentativas de exploração nas 10 horas anteriores à divulgação, dezenas de milhares nos 45 minutos seguintes ao anúncio, centenas de milhares em duas horas e depois milhões, e Cloudflare, Amazon, Hadrian, watchTowr, Previdian e Patchstack registraram tentativas antes da divulgação, todas classificadas como malsucedidas.

A primeira confirmação de exploração real veio no fim de semana de 24 e 25 de outubro de 2026, quando Adel Karimi, responsável por detecção e resposta da Perplexity, relatou que honeypots da empresa registraram execução remota de código contra uma instalação Apache com mod_php rodando o PHP 8.4.26, e na segunda-feira, 26 de outubro, a CISA incluiu as falhas no catálogo e deu às agências civis federais até quinta-feira para se protegerem.

Exposição e o que fica para a investigação

O VirusTotal conta mais de 5,1 milhões de servidores com PHP expostos na internet, cerca de 3,8 milhões deles com pelo menos uma porta aberta a ataques, e, entre os que informam a versão, a maioria roda ramos sem suporte, enquanto as versões corrigidas oficiais saíram só para os ramos do 8.2 em diante.

Como as tentativas começaram antes da divulgação, Moses alertou que os defensores não devem tomar a data da divulgação como a data mais antiga de exploração, a Recorded Future recomenda estender o período de busca para antes da divulgação, já que a exploração ocorre abaixo da camada do aplicativo e os registros podem mostrar pouco, e a Huntress aconselha procurar processos do PHP abrindo shells, interpretadores ou ferramentas de download e, se algo for achado, isolar o servidor e preservar os registros.

Na sexta-feira, 23 de outubro de 2026, a equipe do PHP divulgou ainda mitigação, sem correção, para uma terceira falha de execução remota (CVE-2026-115560), explorável apenas numa combinação incomum de configuração e código do aplicativo.

Fonte original: BleepingComputer, 27.Out.2026.

Marcadores: PHP, vulnerabilidade, CISA, honeypot, execução remota de código.

Mais sobre Perícia digital