Patch de segurança PHP (php2shell)
php2shell é o nome de duas falhas críticas do PHP publicadas em 21 de outubro de 2026 (CVSS v4.0 9.2, sem autenticação). Afetam qualquer site que atenda requisições com PHP, seja WordPress, Drupal, Joomla, Magento, PrestaShop ou Laravel. Estão corrigidas nas versões 8.5.12, 8.4.27, 8.3.36 e 8.2.35.
Você tem esta vulnerabilidade? Atualizamos o PHP, aplicamos a mitigação temporária onde ainda não for possível atualizar e verificamos se há rastros de invasão.
$ php -vPHP 8.3.30 (cli)# 8.3.30 < 8.3.36: afetado$ php-fpm8.3 -vPHP 8.3.30 (fpm-fcgi)# A CLI e o FPM podem ter versões diferentes$ php -i | grep upload_progress.enabledsession.upload_progress.enabled => On => On# Mitigação temporária: 0 no php.ini e reiniciar o FPM8.5.12 · 8.4.27 · 8.3.36 · 8.2.35 php2shell: duas falhas críticas no próprio interpretador
Em 21 de outubro de 2026 o projeto PHP publicou novas versões para corrigir CVE-2026-109618 e CVE-2026-109619. Antecipou a publicação para as 14:00 UTC porque, no dia anterior, um post no Hacker News tinha vazado os identificadores antes do embargo.
CVE-2026-109618 é uma corrupção de memória: se o PHP fica sem memória no meio da preparação dos dados da requisição, a limpeza trata dados inválidos como válidos. Basta uma requisição multipart manipulada que esgote a memória, mesmo que o tamanho pareça dentro dos limites. CVE-2026-109619 deixa estado interno liberado entre requisições, e uma requisição posterior no mesmo worker o reutiliza. A Huntress descreve a falha como um use-after-free no heap sem autenticação, com vazamento de memória e execução remota de código com os privilégios do worker web.
A falha está no PHP, então atualizar o CMS ou os plugins não a corrige. Segundo o php.net, afeta todas as instalações que atendem requisições web: PHP-FPM, Apache com mod_php, php-cgi, FrankenPHP e LiteSpeed. O risco é maior com mod_php, onde, segundo a Rapid7, a exploração é possível antes que o código da aplicação seja executado. A Wiz demonstrou execução remota sem autenticação contra WordPress, Drupal e Joomla, além de um caminho de vazamento de memória que poderia expor senhas, tokens, API keys e certificados.
Em 21 de outubro, a Rapid7 esperava exploração e várias equipes a estavam reproduzindo; a Huntress não a tinha observado em seus clientes. O NCSC britânico e o CERT-EU emitiram alertas no mesmo dia. O PHP está por trás de cerca de 69,7% dos sites cuja linguagem de servidor é conhecida, segundo a W3Techs.
Fontes: php.net · Rapid7 · Huntress · NCSC · Infosecurity Magazine
Versões corrigidas do PHP
Se o seu servidor atende requisições web com PHP e a versão é anterior à do seu ramo nesta tabela, você está afetado. As distribuições Linux com suporte estendido lançaram seus pacotes antes: nesse caso vale o aviso do fornecedor, não o número.
| Ramo | Corrigido em | Nota |
|---|---|---|
| 8.5 | 8.5.12 | |
| 8.4 | 8.4.27 | |
| 8.3 | 8.3.36 | |
| 8.2 | 8.2.35 | Fim de vida em 31/12/2026 |
| 8.1, 8.0, 7.4 | Sem versão oficial | O PHP publicou backports mínimos em código-fonte para quem compila |
| 7.3 e anteriores | Sem correção | Migrar para um ramo com suporte |
Verifique isto
- Seu site é WordPress, Drupal, Joomla, Magento, PrestaShop, Laravel ou outra aplicação PHP acessível pela internet.
-
php -vouphp-fpm -vmostram um número inferior ao do seu ramo na tabela. - Você usa Apache com
mod_php: é a configuração de maior risco. - Você usa o PHP da sua distribuição Linux: o número pode não mudar mesmo com o pacote corrigido, então é preciso ver o aviso do fornecedor.
- Você está em hospedagem compartilhada: quem atualiza é o provedor, mas você pode ver a versão no painel ou com
phpinfo()e pedir uma data.
Se você não pode atualizar hoje
Estas são as mitigações temporárias publicadas pelo projeto PHP. Reduzem a exposição enquanto você prepara a atualização, mas não a substituem.
- 01 Defina
session.upload_progress.enabled=0nophp.iniou no pool do PHP-FPM e reinicie todos os workers. Comini_set()ou.user.ininão funciona. - 02 No PHP 8.5, defina também
fatal_error_backtraces=0. - 03 Limite no servidor web ou no proxy o tamanho da requisição e o número de campos, partes e cabeçalhos.
- 04
post_max_size=8Mse o site não aceita upload de arquivos;32Mse aceita. - 05 Se não puder atualizar, procure indícios de comprometimento e backdoors. Se também não puder mitigar, o NCSC recomenda considerar desconectar o sistema.
Sete passos, nesta ordem
Aplicamos o mesmo procedimento em cada servidor: primeiro saber qual versão roda em cada lugar, depois corrigir e, no fim, verificar que ninguém entrou antes do patch.
Inventário de versões
Listamos cada servidor, contêiner e hospedagem onde o PHP roda, com a versão da CLI e a do FPM, o modo (FPM, mod_php, CGI) e quem o mantém. O site esquecido num servidor antigo é o que fica sem patch.
Mitigação imediata
Onde a atualização não pode ser feita na hora, desativamos session.upload_progress no php.ini ou no pool, limitamos tamanho e partes das requisições e reiniciamos os workers.
Atualização
Subimos para a versão corrigida do seu ramo ou para o pacote corrigido da sua distribuição. Se você ainda está no 8.1 ou anterior, explicamos as duas saídas: compilar com os backports ou migrar para um ramo com suporte.
Verificação
Verificamos a versão que de fato atende as requisições, não só a da linha de comando, e se o site, os formulários e os uploads continuam funcionando.
Revisão de indícios de comprometimento
Revisamos logs de acesso e de erro, arquivos modificados recentemente no diretório do site e novos usuários administradores no CMS.
Rotação de segredos, se necessário
Se houver sinais de acesso, ou se o servidor ficou exposto ao vazamento de memória, trocamos senhas de banco de dados, chaves de API, tokens e certificados.
Acompanhamento de novos avisos
Deixamos registrado qual versão cada servidor tem e quais avisos acompanhar (PHP, sua distribuição, seu CMS), para que a próxima atualização comece desse inventário.
O que costuma ficar pela metade
Não sabe qual versão do PHP o seu site usa?
Consultoria gratuita →Perguntas frequentes sobre o php2shell
O que é o php2shell?
Meu WordPress está afetado mesmo com os plugins em dia?
Basta desativar session.upload_progress?
Ainda uso PHP 7.4 ou 8.0. O que faço?
E se eu estiver em hospedagem compartilhada?
Conte onde o seu PHP roda
Começamos pelo inventário: qual versão cada servidor tem, o que precisa ser feito hoje e o que pode esperar uma janela de manutenção.
Conte-nos seu desafio. Propomos uma solução.
Sem compromisso. Em menos de 24 horas, você recebe uma proposta com escopo, cronograma e orçamento. Sem letras miúdas.