PHP corrige duas falhas críticas que permitem execução remota de código em servidores
O projeto PHP lançou atualizações de segurança para corrigir duas vulnerabilidades críticas que podem permitir a execução remota de código sem autenticação em servidores que utilizam a linguagem. Identificadas como CVE-2026-109618 e CVE-2026-109619, as falhas foram corrigidas nas versões PHP 8.5.12, 8.4.27, 8.3.36 e 8.2.35, publicadas em 21 de outubro de 2026.
As vulnerabilidades receberam pontuação 9,2 de 10 na escala CVSS 4.0. A equipe de segurança do PHP recomenda que os administradores atualizem suas instalações imediatamente.
O risco é especialmente relevante para servidores expostos à internet, pois a exploração pode ocorrer sem que o invasor precise autenticar-se na aplicação. Pesquisadores de segurança também demonstraram formas de explorar as falhas para obter execução remota de código.
Quais são as vulnerabilidades PHP2Shell?
As duas falhas estão relacionadas ao gerenciamento de memória e ao estado interno do interpretador PHP durante o processamento de requisições.
CVE-2026-109618: falha no tratamento de falta de memória
A primeira vulnerabilidade está associada ao tratamento de erros de falta de memória, conhecidos como out-of-memory (OOM).
Em determinadas circunstâncias, o PHP pode interromper o processamento de uma requisição enquanto estruturas internas ainda não foram completamente inicializadas. Durante a limpeza dos recursos utilizados, o interpretador pode tratar dados inválidos como se fossem válidos.
Essa condição pode provocar corrupção de memória e permitir a execução remota de código.
CVE-2026-109619: uso de estado interno desatualizado
A segunda vulnerabilidade envolve dados internos que podem continuar referenciando uma região de memória depois que ela foi liberada.
Esse tipo de problema é conhecido como use-after-free. Em determinadas condições, uma requisição posterior, processada pelo mesmo trabalhador do servidor, pode utilizar esse estado desatualizado antes que a inicialização normal seja concluída.
O comportamento pode levar à execução remota de código e à exposição de informações presentes na memória do processo PHP.
Quais versões do PHP foram afetadas?
As versões corrigidas disponibilizadas pelo projeto em 21 de outubro são:
| Linha do PHP | Versão corrigida |
| PHP 8.5 | 8.5.12 |
| PHP 8.4 | 8.4.27 |
| PHP 8.3 | 8.3.36 |
| PHP 8.2 | 8.2.35 |
As instalações de cada uma dessas linhas anteriores à respectiva versão corrigida devem ser verificadas e atualizadas.
A equipe do PHP também alerta que as versões 8.1 e anteriores não recebem mais atualizações diretamente do projeto. Algumas distribuições Linux e fornecedores de suporte de longo prazo podem disponibilizar correções retroportadas para versões antigas.
O projeto informou ainda que preparou correções mínimas em código-fonte para PHP 7.4, 8.0 e 8.1, destinadas a cenários em que os usuários compilam o PHP por conta própria ou não dispõem de um fornecedor com suporte de longo prazo.
Administradores devem confirmar a disponibilidade de pacotes corrigidos com seus fornecedores. Quando possível, a migração para uma versão com suporte ativo é a opção recomendada.
Quais servidores podem estar em risco?
Segundo o comunicado oficial, o problema pode afetar instalações PHP que atendem requisições web, incluindo ambientes que utilizam:
- PHP-FPM;
- Apache com mod_php;
- php-cgi;
- FrankenPHP;
- LiteSpeed.
A equipe de segurança considera o cenário com Apache e mod_php o de maior risco entre os ambientes citados. Nesse caso, foi demonstrada uma forma de iniciar a exploração por meio de uma requisição não autenticada antes que o código da aplicação seja executado.
Isso não significa que todas as instalações apresentem exatamente as mesmas condições de exploração. A configuração do servidor, a versão instalada e o modo como as requisições são processadas influenciam o risco.
Como proteger os servidores PHP?
A medida prioritária é instalar uma versão corrigida ou o pacote de segurança disponibilizado pelo fornecedor responsável pelo ambiente.
Os administradores devem:
- Identificar as versões instaladas: verificar o PHP utilizado pelos servidores web, serviços, contêineres e aplicações.
- Priorizar sistemas expostos: avaliar primeiro os serviços acessíveis pela internet e os ambientes com maior exposição.
- Aplicar as atualizações: instalar as versões corrigidas ou os pacotes oficiais de segurança da distribuição.
- Reiniciar os processos necessários: garantir que os trabalhadores do PHP estejam executando a versão atualizada.
- Verificar a correção: confirmar a versão efetivamente carregada e consultar os avisos do fornecedor para identificar eventuais particularidades do ambiente.
Se a atualização imediata não for possível, o projeto PHP documentou medidas que reduzem a exposição a caminhos específicos de exploração. Essas medidas dependem da vulnerabilidade e da configuração do servidor, não eliminam todos os riscos e não substituem a correção do software.
Por isso, é importante seguir as orientações técnicas oficiais, em vez de aplicar alterações genéricas sem avaliar seus efeitos na aplicação.
PHP publica alerta adicional sobre outra vulnerabilidade
Em 23 de outubro de 2026, o projeto PHP publicou informações sobre uma terceira vulnerabilidade, identificada como CVE-2026-115560.
Diferentemente das duas falhas PHP2Shell corrigidas em 21 de outubro, esse novo problema depende de uma combinação incomum de configurações de sessão e comportamento da aplicação.
Para que o cenário descrito ocorra, a aplicação precisa alterar o parâmetro session.serialize_handler em tempo de execução antes de iniciar a sessão, além de manter habilitado o recurso de acompanhamento do progresso de uploads.
Como medida preventiva temporária, a equipe do PHP recomenda desativar o recurso com a seguinte configuração:
session.upload_progress.enabled=0
A recomendação deve ser mantida até a próxima versão regular de correção. Aplicações que não alteram o manipulador de serialização durante a execução não estão sujeitas às condições específicas descritas nesse alerta.
A medida também havia sido indicada como mitigação para um caminho de exploração relacionado à CVE-2026-109619. Quem já aplicou a configuração e a mantém ativa não precisa repeti-la.
É importante destacar que esse ajuste não substitui a instalação das versões corrigidas para as duas vulnerabilidades PHP2Shell.
O que o caso representa para a segurança de aplicações web?
O caso demonstra que a segurança de um site depende não apenas da qualidade do código desenvolvido, mas também dos componentes utilizados para executá-lo.
Uma falha no interpretador pode afetar diferentes aplicações que compartilham a mesma infraestrutura. Por isso, manter um inventário de software, acompanhar comunicados dos fornecedores e aplicar atualizações de segurança são medidas essenciais para reduzir riscos.
Desenvolvedores, administradores de sistemas e empresas de hospedagem devem verificar suas instalações PHP e acompanhar os próximos comunicados oficiais para identificar novas recomendações ou correções.
Fontes
- BleepingComputer — PHP ships emergency patches for critical PHP2Shell flaws
- PHP — Comunicados oficiais e atualizações de segurança
- PHP — Histórico de alterações da versão 8
- Governo Federal — Alerta sobre vulnerabilidades críticas de execução remota de código PHP
O Blog Tecnologista recomenda que administradores consultem os comunicados oficiais e verifiquem as versões instaladas antes de realizar alterações em ambientes de produção.


