Entenda Duas Falhas Críticas no PHP com Exemplos Práticos

Nos últimos dias foram divulgadas duas vulnerabilidades críticas no núcleo do PHP apelidadas de PHP2Shell que afetam versões de 5.x até 8.5.x, com pontuação CVSS 9.2 (Crítico). Se você gerencia servidores, hospedagem ou desenvolve em PHP, esse alerta é para você.
CVE-2026-109618 — Quando o tratamento de erro vira porta de entrada
O PHP usa setjmp()/longjmp() em C para lidar com falta de memória: um "salto de emergência" que aborta a execução na hora. O problema? Quando a alocação falhava no meio da inicialização, o pulo acontecia antes de estruturas serem totalmente montadas. A rotina de limpeza rodava assim mesmo e acessava dados que ainda não existiam → corrupção de memória explorável para execução remota de código.
A correção: Verificação explícita de estado só limpa o que realmente foi criado, nunca confia que tudo está pronto.
CVE-2026-109619 — Dados que "vazam" entre requisições
No PHP-FPM e mod_php, o mesmo processo atende várias requisições. O defeito: ao finalizar uma requisição (principalmente em erro), nem todos os estados globais eram apagados. Ponteiros que já tinham a memória liberada continuavam gravados, a próxima requisição podia reutilizá-los. Use-After-Free que também vira RCE sem autenticação.
A correção: Reset completo e obrigatório de TODOS os estados globais, sem exceção, antes de cada nova requisição.
O QUE FAZER AGORA
Atualize para as versões corrigidas IMEDIATAMENTE:
- PHP 8.5 → 8.5.12
- PHP 8.4 → 8.4.27
- PHP 8.3 → 8.3.36
- PHP 8.2 → 8.2.35
Nenhuma configuração extra resolve apenas o patch oficial.
Lição: Falhas de segurança nem sempre vêm do código que escrevemos. Muitas vezes estão no próprio motor que roda tudo. Atualizar não é burocracia — é defesa.
#PHP #SegurançaCibernética #Cibersegurança #Desenvolvimento #Servidores #Atualização #BahiaTech #adielfontes #fydelistech




Ótimo resumo, Adiel! A explicação do longjmp antes da inicialização completa ficou muito clara.
Complementando com três pontos que achei importantes:
1. Já houve tentativa de exploração antes da divulgação: o honeypot da Amazon registrou uma em 17/10, quatro dias antes do anúncio. Ou seja, quem esperar para atualizar já está atrasado.
2. PHP 7.4, 8.0 e 8.1 também são afetados. Não têm release oficial, mas receberam correções só em código-fonte. Vale checar com o fornecedor ou a distribuição.
3. Para verificar, a Searchlight Cyber publicou o php2shell-scanner, open source, que testa se o host está exposto. Regras de WAF (a Cloudflare liberou algumas) ajudam enquanto o patch não chega, mas não substituem a atualização.
Fonte: Help Net Security, 21/10.