Vulnerabilidades críticas de RCE no PHP: CVE-2026-109618 e CVE-2026-109619 explicadas
Duas vulnerabilidades críticas no PHP (CVE-2026-109618 e CVE-2026-109619, CVSS 9.8) permitem execução remota de código sem autenticação. O que são, quem é afetado e como responder.
Em 21 de outubro de 2026, o projeto PHP divulgou duas vulnerabilidades críticas no interpretador núcleo da linguagem: CVE-2026-109618 e CVE-2026-109619. As duas têm pontuação base CVSS de 9.8 (v3.1) — 9.2 no CVSS v4.0 — e ambas permitem execução remota de código sem autenticação. Como o PHP ainda sustenta uma fatia enorme da web, são o tipo de falha que exige atenção na mesma semana de qualquer time que rode PHP em produção.
Este post destrincha o que cada vulnerabilidade faz, por que o raio de impacto é tão grande, quem está exposto e como responder.
O que são as duas vulnerabilidades
Os dois bugs são falhas de corrupção de memória na forma como o PHP lida com a memória de requisição — o tipo de problema de baixo nível que transforma um crash em execução de código controlada pelo atacante. Compartilham as mesmas classes de fraqueza: use-after-free (CWE-416), tratamento inadequado de condições excepcionais (CWE-755) e acesso a ponteiro não inicializado (CWE-824).
CVE-2026-109618 — memória não inicializada em out-of-memory
O PHP trata uma condição de falta de memória (OOM) usando longjmp() para saltar direto para fora do contexto atual e abortar a requisição, pulando o desenrolar normal. O problema é que alguns caminhos de código não consideram essa saída antecipada. Eles deixam a memória de requisição em estado semi-inicializado, e a rotina de limpeza que roda em seguida lê — ou toma decisões de fluxo com base em — esses bytes não inicializados.
O agravante é que o atacante consegue disparar a condição de OOM sob demanda, e há várias estratégias confiáveis de fazer isso a partir de uma requisição comum. Ao direcionar o que acaba nessa memória, o atacante transforma de forma consistente a corrupção resultante em execução remota de código.
CVE-2026-109619 — estado global obsoleto apontando para memória liberada
O PHP mantém alguns ponteiros globais que, durante uma requisição, apontam para memória pertencente àquela requisição. Normalmente eles são resetados quando a requisição termina. Nos caminhos vulneráveis, eles não são resetados corretamente ou são repovoados após o reset — então um global acaba referenciando memória de requisição que já foi liberada.
Uma requisição seguinte pode então ler ou desviar o fluxo com base nesse ponteiro obsoleto antes de ele ser devidamente reinicializado. É um use-after-free clássico e, como o irmão, pode ser moldado ao longo de várias requisições em execução remota de código sem nenhuma credencial.
Por que o raio de impacto é tão grande
A maioria das vulnerabilidades de grande repercussão vive em um único plugin, biblioteca ou aplicação. Essas duas são diferentes: vivem no runtime que todo site PHP compartilha. Um bug de corrupção de memória no interpretador núcleo não fica contido no código de uma aplicação — é uma propriedade do motor que está embaixo de todas elas.
Isso importa por onde o PHP fica. Ele ainda é uma das linguagens de servidor mais implantadas da internet, e normalmente roda em hosts diretamente acessíveis a partir de redes não confiáveis. Quando o componente vulnerável é o próprio interpretador e a exposição é voltada à internet, a população de sistemas afetados é imensa.
A CVE-2026-109619 adiciona um segundo complicador: estado entre requisições. O dano não fica na requisição que o causou — uma requisição maliciosa pode envenenar um estado que uma requisição inocente posterior vai tropeçar. Isso torna o problema mais difícil de reproduzir em testes e mais fácil de passar despercebido nos logs.
Quem é afetado
Se você roda PHP em qualquer lugar que aceite entrada de fontes não confiáveis, assuma que está no escopo até confirmar que sua versão está corrigida. Na prática, isso inclui:
- WordPress, Drupal, Magento, Joomla e outros CMS em PHP — a vulnerabilidade está no motor que todos eles rodam, independente de plugins ou temas. Se você usa WordPress, veja nosso guia complementar sobre segurança no WordPress.
- Frameworks PHP e aplicações próprias — Laravel, Symfony e código sob medida estão igualmente expostos.
- APIs e painéis administrativos PHP voltados à internet — qualquer coisa que faça parsing de dados de requisição não confiáveis.
O componente afetado é o interpretador PHP, então o fator decisivo é a versão do PHP que você roda, não a aplicação construída por cima dela.
Como responder
- Inventarie onde o PHP realmente roda. Você não corrige o que não enxerga. Encontre todo host, contêiner e serviço gerenciado rodando PHP e registre a versão exata de cada um.
- Atualize para a versão corrigida do PHP. Essa é a única correção completa para os dois CVEs. Priorize primeiro os hosts voltados à internet e tudo que processe entrada não confiável.
- Reforce onde não der para atualizar de imediato. Para a CVE-2026-109618, limitar memória por requisição e concorrência dificulta disparar a condição de OOM sob demanda. São medidas provisórias que reduzem a explorabilidade — não substituem a atualização, e nenhum contorno de configuração fecha totalmente um use-after-free.
- Reduza a exposição. Coloque os front-ends PHP atrás de validação estrita de entrada, restrinja quem alcança as superfícies administrativas e mantenha tráfego não confiável longe de hosts que ainda não podem ser corrigidos.
- Verifique após o patch. Confirme a versão do interpretador em execução em cada host depois da atualização — não só o manifesto de pacotes — para que um restart esquecido ou uma imagem de contêiner desatualizada não deixem você exposto.
Como a Rainforest ajuda
A parte mais difícil de um CVE no runtime núcleo raramente é o patch em si — é saber onde o runtime vulnerável realmente alcança você em um parque extenso. A plataforma da Rainforest inventaria continuamente sua stack e a correlaciona com inteligência de vulnerabilidades, então quando uma falha como a CVE-2026-109618 ou a CVE-2026-109619 surge, você vê quais hosts e aplicações rodam uma versão de PHP afetada e prioriza os que são de fato alcançáveis — em vez de adivinhar. Se você constrói em PHP, nosso guia sobre desenvolver aplicações mais seguras com PHP é um bom próximo passo, ou agende uma demonstração para ver como a Rainforest mapeia CVEs críticos no seu ambiente.
Perguntas frequentes
Qual é a pontuação CVSS da CVE-2026-109618 e da CVE-2026-109619?
Ambas têm nota 9.8 na escala CVSS v3.1 (9.2 no CVSS v4.0), classificada como Crítica. As duas são exploráveis pela rede, não exigem privilégios e não precisam de interação do usuário.
Essas vulnerabilidades do PHP podem ser exploradas sem autenticação?
Sim. As duas falhas permitem execução remota de código sem autenticação. Um atacante capaz de enviar requisições a um host PHP vulnerável pode, em princípio, executar código arbitrário nele.
Isso afeta sites WordPress?
Sim. As vulnerabilidades estão no interpretador PHP sobre o qual o WordPress roda, então afetam o WordPress independente de quais plugins ou temas você usa. A correção é atualizar o PHP, não o WordPress em si — veja nosso guia de segurança no WordPress para o quadro completo.
Existe contorno se eu não puder atualizar o PHP agora?
Não há mudança de configuração que feche totalmente nenhum dos dois bugs. Para a CVE-2026-109618, dá para dificultar a exploração limitando memória por requisição e concorrência, e dá para reduzir a exposição com validação estrita de entrada e acesso de rede mais restrito. São paliativos — atualizar para a versão corrigida do PHP é a única correção completa.
Como sei quais dos meus sistemas estão afetados?
Identifique todo host, contêiner e serviço rodando PHP e verifique a versão exata do interpretador contra as versões corrigidas. Um inventário contínuo que correlaciona seu software em execução com os dados de CVE — como o da Rainforest — torna isso muito mais rápido do que auditoria manual.

Escrito por
Bruno Baldo
CMO
Um pouco de marketing e um pouco de curiosidade e temos a receita pra criar um apaixonado por cyber!

Segurança no WordPress: um guia prático para endurecer seu site
Um guia prático de segurança no WordPress: a superfície de ataque real — core, PHP, plugins, temas — e como endurecer, monitorar e corrigir, incluindo as falhas críticas de RCE no PHP de 2026.

Como Desenvolver Aplicações Mais Seguras com PHP
Um guia prático de desenvolvimento seguro em PHP: previna SQL injection, XSS, inclusão de arquivos e command injection, e fortaleça dependências com SCA.
