Em outubro de 2026, duas vulnerabilidades críticas no núcleo do PHP colocaram administradores de sistemas, equipes de infraestrutura e profissionais de segurança diante de um problema que vai muito além de um plugin específico: a possibilidade de execução remota de código (RCE) sem autenticação em ambientes vulneráveis.
As falhas, identificadas como CVE-2026-109618 e CVE-2026-109619, ficaram conhecidas publicamente como PHP2Shell. Segundo os pesquisadores da Wiz Research, a investigação técnica que levou à descoberta contou com o auxílio direto de modelos avançados de Inteligência Artificial, demonstrando como essas ferramentas conseguem destrinchar problemas complexos em componentes fundamentais da infraestrutura web.
Em 21 de outubro de 2026, o projeto oficial do PHP publicou atualizações emergenciais de segurança. Logo em seguida, em 23 de outubro, um novo alerta técnico relacionado a uma terceira vulnerabilidade (CVE-2026-115560) ampliou a necessidade de atenção dos administradores.
📌 Resumo Rápido para Administradores (TL;DR)
- O que é: Duas falhas críticas de RCE sem autenticação no núcleo do interpretador PHP (CVSS 9.2).
- Versões Mínimas Corrigidas:
8.5.12,8.4.27,8.3.36e8.2.35.- Atenção à Terceira Falha: Para a CVE-2026-115560, desabilite temporariamente
session.upload_progress.enabled = 0nophp.ini.- Ação Prioritária: Identificar ambientes expostos (especialmente Apache
mod_php), atualizar pacotes no sistema operacional e reiniciar serviços persistentes (php-fpm,apache2,nginx).
1. O que é o PHP2Shell?
PHP2Shell é o nome utilizado publicamente para descrever a exploração das vulnerabilidades críticas encontradas no núcleo da linguagem PHP.
O PHP é executado no servidor e sustenta uma parcela massiva da web global — estimadas entre 70% e 77% dos sites dinâmicos do mundo, incluindo ecossistemas como WordPress, Drupal e Joomla, além de plataformas de comércio eletrônico, sistemas corporativos e servidores de hospedagem compartilhada.
O ponto nevrálgico desse incidente é que as falhas não estavam restritas a um tema, a uma biblioteca externa ou a um código mal escrito por um desenvolvedor web. Elas estavam localizadas no próprio motor de execução da linguagem.
Isso altera profundamente o cálculo de risco:
- Quando uma vulnerabilidade atinge um plugin, a remediação se concentra em quem usa aquele componente.
- Quando a falha está no núcleo de uma linguagem onipresente, é imperativo auditar todos os ambientes que compilam, incorporam ou executam qualquer serviço em PHP.
A Wiz Research demonstrou a exploração funcional das falhas em ambientes de teste com WordPress, Drupal e Joomla. Esses testes em laboratório ilustram o alcance do vetor de ataque, embora não signifiquem que todos os servidores do planeta tenham sido comprometidos simultaneamente.
2. As Duas Vulnerabilidades Críticas
Ambas as falhas receberam pontuação CVSS v4.0 de 9,2, posicionando-se na categoria máxima de severidade crítica.
CVE-2026-109618: Corrupção de Memória no Tratamento de Out-of-Memory (OOM)
A primeira vulnerabilidade está relacionada à forma como o interpretador PHP lida com condições de esgotamento de memória (out-of-memory) durante o processamento de requisições web.
O PHP possui travas internas para interromper requisições que ultrapassem os limites de alocação configurados. No entanto, o problema ocorre quando essa interrupção acontece enquanto certas estruturas internas da requisição ainda estão apenas parcialmente inicializadas.
Nesse estado, a rotina de limpeza (cleanup) interpreta ponteiros e dados corrompidos como se estivessem consistentes. Isso gera operações ilegais sobre blocos de memória já liberados ou não inicializados, permitindo que atacantes habilidosos manipulem ponteiros internos para alcançar execução remota de código sem autenticação e vazamento de dados confidenciais da memória do processo.
CVE-2026-109619: Estado Interno Obsoleto e Use-After-Free (UAF)
A segunda falha envolve o clássico problema de segurança de memória conhecido como Use-After-Free (UAF).
O defeito permite que determinados estados internos sobrevivam no processo trabalhador (worker) mesmo após a memória correspondente ter sido desalocada. Quando uma requisição subsequente é processada pelo mesmo processo, ela encontra referências a áreas de memória reaproveitadas para outros fins.
A análise da Wiz associou esse comportamento a rotinas de rastreamento de erros (backtraces) e a estados compartilhados gerenciados pelo OPcache (o mecanismo nativo de aceleração que armazena em cache scripts pré-compilados na memória RAM). A corrupção dessas estruturas compartilhadas rompe o isolamento entre requisições e abre caminho para injeção arbitrária de código.
3. Por que Falhas de Memória Podem Resultar em RCE?
Uma falha de memória não se transforma automaticamente em Execução Remota de Código por mágica. Para transformar uma corrupção bruta em um ataque funcional, o pesquisador (ou invasor) precisa:
- Mapear o layout da memória (heap/stack) e o ciclo de vida dos objetos no interpretador;
- Controlar alocações sucessivas para influenciar o posicionamento dos blocos de dados (heap grooming / spraying);
- Contornar defesas do sistema operacional (como ASLR e proteções de pilha);
- Garantir que a execução seja reproduzível e estável sem derrubar o processo de forma prematura.
A complexidade dessas etapas explica por que vulnerabilidades no core do PHP puderam passar mais de uma década adormecidas, mesmo com o código-fonte sendo aberto e inspecionado diariamente por milhares de desenvolvedores.
4. O Papel da Inteligência Artificial na Descoberta
O aspecto mais revolucionário do caso PHP2Shell foi a documentação do uso de modelos avançados de IA durante todo o processo de auditoria e engenharia reversa.
Segundo os relatos técnicos publicados pela Wiz Research e pelo Google Cloud, modelos de fronteira — incluindo Wiz Atlas, Gemini 4 Argon e GPT-5.6 Sol — desempenharam papéis cruciais:
- Auditoria de Código em Larga Escala: Os modelos conseguiram raciocinar sobre fluxos de controle não triviais no código C do PHP, formulando hipóteses sobre caminhos de erro que raramente eram testados.
- Depuração e Síntese de PoCs: A IA auxiliou na adaptação de explorações de teste para diferentes versões e arquiteturas, sugerindo ajustes nos parâmetros de alocação de memória.
- Validação de Patches e Regressões: Do lado defensivo, modelos de IA auxiliaram desenvolvedores do core do PHP a analisar as alterações nos pull requests e certificar que a correção do OOM não causaria efeitos colaterais em outras extensões.
[!NOTE] A IA não criou a vulnerabilidade. O erro de código humano já existia há anos. O que a IA fez foi reduzir drasticamente o tempo necessário para encontrar o defeito e provar que ele era explorável. Essa mesma facilidade agora exige que administradores de rede reajam com agilidade proporcional.
5. Mitos e Fatos: O que Sabemos Sobre o Suposto "Outubro Negro"?
O rótulo “Outubro Negro” ganhou tração editorial nas redes sociais para descrever a intensidade dos incidentes no período, mas é fundamental manter o rigor técnico:
| Termo | Definição Real | O que Significa na Prática | | :--- | :--- | :--- | | Varredura Automatizada | Robôs enviando requisições em massa procurando portas abertas. | Não significa que o servidor foi invadido. | | Tentativa de Exploração | Requisição enviando payload malicioso para acionar a falha. | Se o servidor estiver corrigido, o ataque falha. | | Comprometimento Real | O invasor conseguiu shell interativo ou controle do sistema. | Exige investigação forense e análise de processos. |
Até a data dos alertas governamentais (incluindo o boletim AL26-026 do Centro Canadense de Cibersegurança), não havia confirmação de campanhas mundiais coordenadas de invasão massiva por agentes autônomos de IA, mas sim a circulação de provas de conceito funcionais que exigem blindagem imediata.
6. Versões Afetadas e Tabela Oficial de Correções
Em 21 de outubro de 2026, o projeto oficial PHP publicou as versões de manutenção que corrigem integralmente a CVE-2026-109618 e a CVE-2026-109619:
| Série do PHP | Versão Mínima Segura | Status no Projeto Oficial |
| :--- | :---: | :--- |
| PHP 8.5 | 8.5.12 | Suporte Ativo |
| PHP 8.4 | 8.4.27 | Suporte Ativo |
| PHP 8.3 | 8.3.36 | Suporte Ativo |
| PHP 8.2 | 8.2.35 | Suporte Ativo |
| PHP 8.1 ou anterior | Sem patch upstream | Exige backports da distribuição Linux |
[!WARNING] Atenção à Terceira Falha (CVE-2026-115560): Em 23 de outubro, o PHP publicou um aviso sobre outra vulnerabilidade crítica de RCE ligada ao progresso de upload de sessões. Ela não foi sanada pelos patches do dia 21. A recomendação expressa do PHP e do CERT-EU é desabilitar o recurso até a publicação do patch definitivo:
; Adicione ou edite no seu php.ini (/etc/php/8.x/fpm/php.ini ou /etc/php.ini) session.upload_progress.enabled = 0
7. Como Verificar e Corrigir seus Servidores
Não confie apenas na saída simples de php -v. Sistemas Linux corporativos frequentemente aplicam correções de segurança mantendo a numeração original do pacote (backporting).
Passo 1 — Identifique a Versão Real do Pacote no Sistema Operacional
# Em distribuições baseadas em Debian / Ubuntu:
dpkg -l | grep -E "php.*(fpm|common|cli)"
# Em distribuições baseadas em RHEL / CentOS / AlmaLinux / Rocky:
rpm -qa | grep -E "php.*(fpm|common|cli)"
Passo 2 — Atualize os Repositórios e Instale os Patches
# Atualização no Debian/Ubuntu:
sudo apt update && sudo apt install --only-upgrade php*
# Atualização no RHEL/AlmaLinux:
sudo dnf upgrade php\*
Passo 3 — Reinicie Obrigatoriamente os Serviços Persistentes
Atualizar os arquivos em disco sem reiniciar os processos residentes na memória não protege o servidor:
# Reinicie o processador PHP-FPM:
sudo systemctl restart php8.3-fpm # (ou a versão correspondente do seu ambiente)
# Reinicie o servidor web:
sudo systemctl restart nginx
# OU
sudo systemctl restart apache2
8. Sinais de Comprometimento: O que Auditar nos Logs?
Se os seus servidores ficaram expostos antes da aplicação dos patches, realize uma checagem preventiva:
- Processos Filhos Anômalos: Verifique se o usuário
www-data,apacheounginxiniciou shells como/bin/sh,/bin/bashou utilitários comocurl,wgetenc. - Arquivos Inéditos no Diretório Web: Faça uma varredura por scripts recém-criados em diretórios com permissão de escrita (como
wp-content/uploads/). - Conexões de Saída Não Autorizadas: Monitore conexões reversas partindo do servidor web para IPs desconhecidos na internet pública.
9. Por que não se Deve Depender Apenas de um WAF?
Firewalls de Aplicação Web (WAFs) como Cloudflare ou AWS WAF são excelentes filtros de ruído, mas não substituem a correção do interpretador.
Como a falha do PHP2Shell reside no tratamento interno da memória antes e durante o ciclo de vida do script, pequenas variações na codificação do payload HTTP podem contornar regras estáticas de firewall. A defesa em profundidade exige que o binário subjacente esteja corrigido.
Conclusão: Resiliência e Soberania Digital na Era da IA
O caso PHP2Shell consolida um novo paradigma: a corrida entre atacantes e defensores agora se dá na velocidade dos algoritmos. Quando falhas com mais de dez anos de existência são desenterradas em horas com auxílio de modelos de raciocínio, a segurança baseada em inércia ou suposições deixa de existir.
Para empresas e profissionais que mantêm presença digital, a resposta exige inventário rigoroso, postura ativa de atualização e arquiteturas resilientes e desacopladas.
Proteja a Infraestrutura Web do Seu Negócio com a Vexis One
Manter servidores e aplicações web modernos, rápidos e blindados contra as novas ameaças orientadas por IA é a especialidade da Vexis One. Conheça as soluções de arquitetura em nuvem, modernização de sistemas e desenvolvimento seguro da nossa agência em agency.vexisone.com.
Como a sua equipe lidou com a identificação e atualização dos servidores PHP após o alerta do PHP2Shell? Enfrentou dificuldades com extensões ou ambientes legados? Deixe sua contribuição nos comentários abaixo!




