← Todas as notícias
ARTIGO
Rumores
23 de outubro de 2026 4 min de leitura

Vulnerabilidade PHP2Shell: atualizar o PHP hoje, falhas RCE já exploradas

Duas falhas críticas do PHP, CVE-2026-109618 e CVE-2026-109619, permitem executar código sem autenticação e já estão a ser exploradas. As versões corrigidas saíram a 21 de outubro.

Neste artigo
  1. O que está confirmado
  2. Vulnerabilidade PHP2Shell: que versões do PHP são seguras
  3. O que se diz
  4. Porque é importante
  5. O que fazer hoje

A vulnerabilidade PHP2Shell são, na verdade, duas falhas críticas da linguagem PHP, CVE-2026-109618 e CVE-2026-109619, que permitem a um atacante sem credenciais executar código num servidor web. O projeto PHP lançou as versões corrigidas a 21 de outubro de 2026 e os primeiros ataques foram observados no mesmo dia. Se um servidor seu, ou de um cliente, executa PHP, deve ser atualizado hoje.

Uma grande sala de servidores vista de cima, com filas de racks e placas que indicam servidores de correio e servidores web.
Foto: Florian Hirzinger - www.fh-ap.com (CC BY-SA 3.0), Wikimedia Commons.

O que está confirmado

O projeto PHP recebeu os primeiros relatórios a 11 de agosto de 2026. A Amazon Threat Intelligence reportou uma tentativa de exploração a 17 de outubro, antes da divulgação pública. A 20 de outubro, os detalhes vazaram na internet antes da data acordada, e o PHP antecipou a versão de emergência para 21 de outubro. Nesse dia, a watchTowr observou exploração ativa na sua rede de honeypots.

A CVE-2026-109618 está na gestão dos erros de falta de memória: se o PHP fica sem memória ao preparar os dados do pedido, esses dados ficam parcialmente inicializados e a limpeza final trata-os como válidos. A CVE-2026-109619 é um erro de estado global não reposto que conduz a um use-after-free no heap, com leitura de memória e execução de código. Ambas permitem a execução remota de código, sem autenticação, com os privilégios da conta do servidor web. Os avisos dos fornecedores de segurança classificam-nas com 9,2 no CVSS v4.0.

Todas as instalações de PHP que servem pedidos web estão abrangidas: Apache com mod_php, PHP-FPM, php-cgi, LiteSpeed e FrankenPHP. O projeto PHP considera o risco mais elevado no mod_php, porque o ataque pode ter êxito antes de qualquer código da aplicação ser executado. Pela mesma razão, uma firewall aplicacional ou um agente RASP dentro do processo PHP pode não o travar.

Vulnerabilidade PHP2Shell: que versões do PHP são seguras

  • PHP 8.5: atualizar para a 8.5.12.
  • PHP 8.4: atualizar para a 8.4.27.
  • PHP 8.3: atualizar para a 8.3.36.
  • PHP 8.2: atualizar para a 8.2.35.
  • PHP 8.1, 8.0 e 7.4: sem versão oficial. Existem backports mínimos apenas como código-fonte, ou como pacotes de distribuições e de fornecedores LTS.
  • PHP 7.3 e anteriores, incluindo o PHP 5: sem correção, é preciso migrar para um ramo suportado.

As distribuições Linux corrigem muitas vezes uma falha sem alterar o número da versão: convém consultar o changelog do pacote, e não apenas o resultado de php -v.

Rumor

O que se diz

As fontes divergem quanto ao estado do exploit. Alguns investigadores afirmam que as duas falhas já estão encadeadas num único script funcional e que existem análises e uma ferramenta públicas. A Huntress escreveu que não reproduziu uma prova de conceito, e a JFrog avisou que circulam falsos exploits. Quem descarregar de um fórum um suposto exploit do PHP2Shell arrisca-se a instalar malware.

A 22 de outubro, as falhas não constavam do catálogo KEV da CISA, segundo a watchTowr. O Centro Nacional de Cibersegurança do Reino Unido (NCSC) pediu às organizações que atualizem de imediato ou que desliguem os sistemas expostos. A VirusTotal estima que mais de 5,1 milhões de hosts PHP estejam acessíveis a partir da internet.

Porque é importante

Quem gere a informática de uma PME ou de vários clientes sabe que o PHP não está apenas nos sites que desenvolveu. Está no WordPress, no Joomla, no Magento, no PrestaShop, em webmails, em antigas aplicações de gestão e em qualquer contentor cuja imagem de base inclua PHP. Um contentor mantém o PHP com que foi construído: é preciso reconstruí-lo, ou obter uma imagem corrigida, e voltar a fazer o deploy.

O que fazer hoje

  1. Fazer o inventário: php -v em cada host e docker exec <container> php -v em cada contentor que serve PHP.
  2. Atualizar para a versão corrigida, ou para o pacote corrigido do fornecedor, e reiniciar o PHP-FPM ou o Apache.
  3. Se não for possível atualizar de imediato, retirar esse sistema do acesso direto à internet.
  4. Como medidas provisórias, que não protegem totalmente: session.upload_progress.enabled=0 e reinício dos workers, um post_max_size baixo (8M, ou 32M se forem necessários uploads) e limites de memória ao nível do contentor.
  5. Rever os registos de acesso desde 17 de outubro e, havendo suspeita de que a memória dos processos foi lida, rodar palavras-passe, tokens e chaves de API.

O projeto PHP é claro: nenhuma configuração mitiga totalmente estas falhas e a atualização é a única defesa duradoura. Para obter ajuda na definição de prioridades e na correção rápida, consulte os nossos serviços de cibersegurança.

Fontes: watchTowr, FAQ sobre o PHP2Shell; BleepingComputer; Qualys; JFrog; Huntress.