Resumo em 30 segundos
- O que aconteceu: em 21 de outubro de 2026, o projeto PHP publicou correções para duas vulnerabilidades críticas, CVE-2026-109618 e CVE-2026-109619, conhecidas como PHP2Shell. Ambas têm pontuação CVSS 4.0 de 9.2.
- O risco: um atacante sem usuário nem senha pode chegar a executar código no seu servidor web e assumir o controle.
- Quem é afetado: qualquer instalação de PHP que atenda requisições web, incluindo sites feitos com WordPress, Drupal, Joomla ou Laravel.
- O que fazer hoje: atualizar para o PHP 8.5.12, 8.4.27, 8.3.36 ou 8.2.35. Se você usa PHP 8.1 ou anterior, migrar para uma versão com suporte.
O que é o PHP2Shell e por que é tão grave?
O PHP é a linguagem por trás de uma parte enorme da web: WordPress, a maioria das lojas virtuais com WooCommerce, fóruns, intranets e milhares de aplicações sob medida. Quando a falha está no próprio PHP, e não em um plugin ou tema, o problema atinge todos os sites que o usam, não importa o quão bem mantido esteja o resto.
Em 20 de outubro, a equipe do PHP anunciou uma atualização de segurança crítica para o dia seguinte. Em 21 de outubro, publicou as versões corrigidas e um aviso com uma mensagem direta: atualize já. No mesmo dia, o centro de cibersegurança das instituições europeias (CERT-EU) e o INCIBE-CERT da Espanha emitiram seus próprios alertas, ambos de nível crítico.
Segundo o CERT-EU, já circulam provas de conceito públicas e é possível que os atacantes as estejam usando. O exploit demonstrado precisa de uma única requisição sem autenticação e pode ser ativado antes que qualquer linha do código da sua aplicação seja executada. Por isso não basta ter um site bem programado: a falha está na camada de baixo.
As duas vulnerabilidades, explicadas
CVE-2026-109618: corrupção de memória ao ficar sem memória
O PHP limita a memória que cada requisição pode usar com a diretiva memory_limit. Quando esse limite é atingido, o PHP interrompe a execução de forma abrupta. O problema é que essa interrupção pode ocorrer enquanto o PHP ainda está processando os dados da requisição, por exemplo durante o envio de um arquivo por um formulário. Ao limpar, o PHP pode liberar memória que nunca terminou de ser inicializada, e essa corrupção pode ser aproveitada para executar código.
O INCIBE indica que a execução remota de código foi validada contra o Apache com mod_php, e que o PHP-FPM é considerado suscetível, embora não se tenha demonstrado um exploit completo por esse caminho.
CVE-2026-109619: estado global que sobrevive entre requisições
Um mesmo processo do PHP atende muitas requisições seguidas. Esta falha faz com que parte do estado interno de uma requisição continue existindo depois que sua memória é liberada, por exemplo após um erro fatal. A requisição seguinte atendida por esse mesmo processo pode usar esse estado antes que ele seja reiniciado, o que pode causar vazamento de informações e execução de código. Há caminhos de exploração confirmados no Apache mod_php e no PHP-FPM, e no PHP 8.5 existe uma via adicional relacionada aos rastros de erros fatais.
Com a execução remota de código, o atacante opera com as permissões do processo web. Na prática, pode ler as informações às quais o seu site tem acesso (incluindo dados de clientes e credenciais do banco de dados), modificar arquivos, deixar uma porta dos fundos para voltar depois e usar o seu servidor para atacar outros.
Quem é afetado?
De acordo com o CERT-EU, está em risco toda instalação de PHP que sirva requisições web: PHP-FPM, Apache com mod_php, php-cgi, FrankenPHP e LiteSpeed. A própria equipe do PHP considera o mod_php a configuração de maior risco.
- PHP 8.5: afetadas as versões anteriores à 8.5.12. Versão corrigida: 8.5.12.
- PHP 8.4: afetadas as versões anteriores à 8.4.27. Versão corrigida: 8.4.27.
- PHP 8.3: afetadas as versões anteriores à 8.3.36. Versão corrigida: 8.3.36.
- PHP 8.2: afetadas as versões anteriores à 8.2.35. Versão corrigida: 8.2.35 (fim do suporte: 31 de dezembro de 2026).
- PHP 8.1 e anteriores: todas afetadas. Sem atualização oficial; há patches mínimos no código-fonte para 7.4, 8.0 e 8.1, mas o recomendável é migrar.
O impacto já se faz sentir. Segundo o RedesZone, a Cloudflare reportou os primeiros ataques e implantou regras do seu firewall de aplicações (WAF) para todos os clientes, inclusive no plano gratuito. Vários sites governamentais da Finlândia e dos Países Baixos, a Universidade de Viena e a Universidade de Friburgo tiraram serviços do ar de forma preventiva. O mesmo veículo cita uma estimativa da empresa Mallory de cerca de 884.000 servidores expostos que ainda usam PHP 8.1 ou anterior.
Como saber se o seu site está em risco
- Verifique a versão do PHP. Se você tem acesso ao servidor, execute
php -v. Em uma hospedagem compartilhada, procure no painel de controle (cPanel, Plesk ou outro), normalmente na seção «Versão do PHP». - Compare com a lista. Se for anterior à versão corrigida da sua ramificação, ou for 8.1 ou mais antiga, o seu site está exposto.
- Não esqueça dos produtos que trazem PHP embutido. Alguns painéis, aplicações e appliances incluem o seu próprio PHP. O NCSC dos Países Baixos mantém uma lista pública de produtos afetados.
- Se não sabe como verificar, pergunte ao seu provedor de hospedagem. Peça por escrito a versão exata do PHP da sua conta e a data em que ele aplicará o patch.
O que fazer hoje: a lista de passos
- Atualize o PHP para 8.5.12, 8.4.27, 8.3.36 ou 8.2.35, conforme a sua ramificação. É a única solução completa.
- Se você usa os pacotes da sua distribuição Linux (Debian, Ubuntu, Red Hat e outras) ou de um fornecedor com suporte estendido, confirme que a atualização já inclui a correção. Os distribuidores receberam os patches com antecedência.
- Se você usa o repositório rpms.remirepo.net, saiba que ele não terá a atualização no dia da publicação. O PHP recomenda trocar para os pacotes da sua distribuição ou compilar a partir do código-fonte.
- Se você ainda está no PHP 8.1, 8.0, 7.4 ou anterior, planeje a migração para uma versão com suporte. Os patches mínimos para 7.4, 8.0 e 8.1 são uma solução provisória, não definitiva.
- Se você não consegue atualizar um sistema exposto à internet, isole-o da rede pública até que o patch esteja aplicado e verificado, como recomenda o CERT-EU.
- Reinicie todos os processos do PHP (PHP-FPM e o servidor web) depois de atualizar ou de alterar a configuração.
Mitigações temporárias (enquanto você aplica o patch)
Se você precisa de algumas horas para atualizar, o aviso oficial e o CERT-EU descrevem medidas que reduzem a exposição, mas não a eliminam. Aplique-as apenas como solução provisória e com a ajuda de quem administra o seu servidor:
Para o CVE-2026-109618
- Configurar
memory_limit=-1de forma que a aplicação não consiga alterá-lo (por exemplo, comphp_admin_valueno PHP-FPM ou no Apache) e verificar que nenhuma outra configuração volte a fixar um limite. Um valor comomemory_limit=128Mnão desativa a vulnerabilidade. - Manter
post_max_sizeo mais baixo possível: 8M se o site não recebe arquivos, 32M se precisa deles, comupload_max_filesizeabaixo. - Limitar a memória com o contêiner ou um cgroup, não com
RLIMIT_ASnemRLIMIT_DATA, que podem ativar o caminho vulnerável. - Limitar o tamanho e a quantidade de campos das requisições no servidor web ou no proxy.
Para o CVE-2026-109619
- Configurar
session.upload_progress.enabled=0nophp.ini, no pool do PHP-FPM ou na configuração do servidor, e reiniciar todos os processos. O CERT-EU alerta queini_set()e.user.ininão bastam. - No PHP 8.5, configurar também
fatal_error_backtraces=0. - Remover diretivas obsoletas ou inválidas e corrigir erros fatais e tempos de espera que um visitante possa provocar. Ocultar os erros com
display_errorsou@não protege.
Se o seu site está atrás da Cloudflare, as regras de WAF dela adicionam uma camada extra enquanto você atualiza, mas também não substituem o patch.
Não é a primeira vez: dois incidentes que convém lembrar
2021: uma porta dos fundos no código-fonte do PHP
Em 28 de março de 2021, alguém comprometeu o servidor Git oficial do PHP (git.php.net) e enviou duas alterações maliciosas ao código-fonte, se passando por dois dos seus principais desenvolvedores, Rasmus Lerdorf e Nikita Popov. As alterações foram disfarçadas de correção menor («Fix typo») e incluíam uma porta dos fundos: executava o código enviado em um cabeçalho HTTP manipulado se o texto começasse com a palavra «zerodium». Os mantenedores detectaram e reverteram rapidamente, e o projeto transferiu o repositório oficial para o GitHub.
A lição: o risco nem sempre está no seu código. Também pode estar na cadeia de suprimentos do software que você usa.
2024: CVE-2024-4577, a falha do PHP-CGI no Windows
Em junho de 2024, a equipe de pesquisa da DEVCORE reportou uma vulnerabilidade de injeção de argumentos no PHP quando usado em modo CGI no Windows. Por uma conversão automática de caracteres do Windows («Best-Fit»), um atacante podia contornar uma proteção antiga (do CVE-2012-1823) e executar código remotamente. Afetava, entre outras, a configuração padrão do XAMPP no Windows. Foi corrigida no PHP 8.3.8, 8.2.20 e 8.1.29, recebeu pontuação CVSS de 9.8 e foi explorada ativamente pouco depois de ser publicada; a agência de cibersegurança dos Estados Unidos (CISA) a incluiu em seu catálogo de vulnerabilidades exploradas.
A lição: quando uma falha grave é publicada, os ataques chegam em dias. A janela para atualizar é muito curta.
O que deveria mudar na sua empresa depois disso
- Use sempre uma versão do PHP com suporte. Consulte as datas na página oficial de versões com suporte. O PHP 8.2 deixa de receber patches em 31 de dezembro de 2026.
- Tenha alguém responsável pelas atualizações do servidor, não apenas do WordPress e dos plugins.
- Coloque um firewall de aplicações (WAF) na frente do seu site. Ele não substitui os patches, mas dá margem.
- Faça backups automáticos e guardados fora do servidor, para se recuperar rápido se algo der errado.
- Monitore o seu site: alterações inesperadas de arquivos, usuários novos no painel ou picos de tráfego estranhos podem ser sinais de um ataque.
Perguntas frequentes
O que é o PHP2Shell?
É o nome dado a duas vulnerabilidades críticas no PHP, CVE-2026-109618 e CVE-2026-109619, publicadas em 21 de outubro de 2026. Ambas têm pontuação CVSS 4.0 de 9.2 e podem permitir que um atacante sem credenciais execute código no servidor web.
Quais versões do PHP corrigem as vulnerabilidades?
PHP 8.5.12, 8.4.27, 8.3.36 e 8.2.35. As ramificações 8.1 e anteriores não recebem mais atualizações oficiais; para 7.4, 8.0 e 8.1 existem patches mínimos no código-fonte, mas o recomendável é migrar para uma versão com suporte.
Meu site em WordPress está em risco?
O WordPress funciona sobre o PHP, então qualquer site servido com uma versão de PHP sem correção está exposto, mesmo que o WordPress e os plugins estejam em dia. O que precisa ser atualizado é a versão do PHP do servidor ou da hospedagem.
Como sei qual versão do PHP eu uso?
No servidor, com o comando php -v. Em uma hospedagem compartilhada, no painel de controle (cPanel, Plesk ou outro), normalmente na seção de versão do PHP. Você também pode perguntar diretamente ao seu provedor de hospedagem.
As mitigações temporárias são suficientes?
Não. A equipe do PHP, o CERT-EU e o INCIBE concordam que só a atualização corrige o problema por completo. As mitigações reduzem a exposição enquanto o patch é aplicado.
Minha hospedagem diz que cuida de tudo. Preciso fazer algo?
Confirme. Peça por escrito qual versão do PHP sua conta usa e se ela já tem o patch. Muitas hospedagens permitem escolher a versão do PHP e, se o seu site ficou configurado em uma ramificação antiga, a atualização automática nem sempre o cobre.
Na Digi Team America verificamos a versão do PHP do seu site, aplicamos a atualização e conferimos que tudo continue funcionando. Fale com a gente e ajudamos você hoje mesmo.
Referências
- PHP. «Security advisory: Critical remote code execution vulnerabilities, update now» e versões 8.5.12, 8.4.27, 8.3.36 e 8.2.35 (21 de outubro de 2026). php.net/archive/2026.php
- CERT-EU. «Security Advisory 2026-018: Critical Vulnerabilities in PHP» (21 de outubro de 2026). cert.europa.eu
- INCIBE-CERT. «Múltiples vulnerabilidades en PHP» (21 de outubro de 2026, em espanhol). incibe.es
- RedesZone. «Dos vulnerabilidades críticas en PHP ponen en peligro la web» (21 de outubro de 2026, em espanhol). redeszone.net
- NCSC-NL. Lista de produtos afetados pelo PHP2Shell. github.com/NCSC-NL/php2shell
- PHP. Versões com suporte. php.net/supported-versions.php
- DEVCORE. «Security Alert: CVE-2024-4577 - PHP CGI Argument Injection Vulnerability» (6 de junho de 2024). devco.re
- NIST. Ficha do CVE-2024-4577 na National Vulnerability Database. nvd.nist.gov
- CISA. Catálogo de vulnerabilidades exploradas conhecidas. cisa.gov
- PHP.Watch. «git.php.net server compromised, move to GitHub, and delayed updates» (março de 2021). php.watch
- BleepingComputer. «PHP's Git server hacked to add backdoors to PHP source code» (março de 2021). bleepingcomputer.com
Digi Team America
Artigo VerificadoEquipe Editorial Digi Team America • Orlando, FL
Especialistas em agentes de voz com IA, sites de conversão, automação de CRM e escala de negócios.
