PHP2Shell: duas falhas críticas do PHP, um embargo que vazou e o que realmente se sabe sobre a exploração
O PHP lançou correções de emergência para duas falhas críticas de execução remota de código, CVE-2026-109618 e CVE-2026-109619, chamadas PHP2Shell.
O PHP lançou correções de emergência para duas falhas críticas de execução remota de código, CVE-2026-109618 e CVE-2026-109619, chamadas PHP2Shell. O lançamento ocorreu a 21 de outubro de 2026. O episódio explica os dois erros de memória em linguagem simples, porque uma pista de uma auditoria de 2024 esperou por uma correção, como o embargo foi divulgado e quais fontes dizem o quê sobre a exploração. Também aborda o lançamento de patches críticos no mesmo dia do GitLab e uma ordem de penalidade de 25 mil milhões de dólares contra o Meta no Novo México.
Ler a edição escrita (Inglês) ↗
O que este vídeo aborda
- Ambas as falhas são classificadas como 9.2 no CVSS v4.0 pela equipa PHP. As versões corrigidas são PHP 8.2.35, 8.3.36, 8.4.27 e 8.5.12; PHP 7.4, 8.0 e 8.1 receberam apenas patches de origem. O PHP diz que a atualização é a única mitigação completa.
- A primeira falha surge do PHP deixar um pedido a meio da construção quando fica sem memória no momento errado. A segunda surge de um ponteiro remanescente para a memória de um pedido que um pedido posterior no mesmo trabalhador pode usar. No Apache com mod_php, o primeiro caminho é executado antes do código da aplicação.
- Um programador principal do PHP encontrou os primeiros sinais do problema de memória durante uma auditoria em 2024. A Fundação PHP diz que as correções concorrentes tinham compromissos e uma equipa de segurança baseada em consenso teve dificuldade em escolher, o que considera uma falha estrutural.
- A Fundação diz que os IDs CVE vazaram a 20 de outubro, a Calif publicou por engano um vídeo de prova de conceito e a Chainguard publicou imagens construídas com a correção mais de seis horas antes do lançamento. O CEO da Chainguard diz que as pessoas já estavam a ser afetadas e que encontrou os bugs de forma independente.
- As fontes divergem sobre a exploração. A Amazon registou uma tentativa a 17 de outubro e mais tarde disse que o PHP2Shell estava a ser amplamente explorado. A watchTowr relatou exploração na natureza. A CISA não tinha observado exploração na publicação, e a equipa PHP não encontrou nenhum exploit funcional no lançamento. Muitos scripts públicos de prova de conceito são relatados como não funcionando.
- Verifique todos os locais onde o PHP é executado, incluindo cópias dentro de outro software, atualize, reinicie os "workers" e revise os registos até 17 de outubro.
Perguntas e respostas
Quais são as duas vulnerabilidades do PHP2Shell?
PHP2Shell nomeia duas falhas críticas do PHP, CVE-2026-109618 e CVE-2026-109619, ambas classificadas como 9.2 pela equipa PHP. A primeira deixa um pedido meio construído quando o PHP fica sem memória no momento errado, e a limpeza então confia nele. A segunda deixa um ponteiro para a memória de um pedido que um pedido posterior no mesmo "worker" pode usar. Ambas podem levar à execução de código sem login.
Quais versões do PHP têm uma correção para PHP2Shell, e o que acontece com as versões sem suporte?
O projeto PHP lançou correções nas versões 8.2.35, 8.3.36, 8.4.27 e 8.5.12 a 21 de outubro. Para as versões 7.4, 8.0 e 8.1, publicou apenas patches de código-fonte, e o BleepingComputer relata que as distribuições e fornecedores de suporte de longo prazo podem fornecer correções "backported". O PHP afirma que não há uma solução completa, então atualizar ou pedir a um fornecedor um pacote corrigido é a única escolha segura.
Por que um bug de memória conhecido do PHP demorou até outubro de 2026 para ser corrigido?
A Fundação PHP diz que um desenvolvedor principal encontrou os primeiros sinais do problema de memória durante uma auditoria de segurança em 2024, mas nenhum caminho de exploração era conhecido e cada correção candidata tinha compromissos, como quebras de compatibilidade. A equipa de segurança decide por consenso e teve dificuldades em escolher, o que a Fundação chama de falha estrutural causada pelo seu processo de decisão e falta de recursos.
O PHP2Shell está a ser explorado, e quão fácil é explorá-lo?
As fontes divergem. A Amazon registou uma tentativa de exploração a 17 de outubro e mais tarde disse que o PHP2Shell estava amplamente explorado, e a watchTowr relatou exploração em estado selvagem. A CISA não tinha observado exploração na publicação, e a equipa PHP não viu nenhum exploit funcional no lançamento. A watchTowr diz que a maioria dos scripts de exploit públicos "crasham" ou não fazem nada, e a VulnCheck descobriu que a execução de código só funciona em algumas configurações.
Qual foi o veredicto do The Daily Diff sobre o PHP2Shell?
O veredicto do The Daily Diff foi SHIP IT: envie a atualização do PHP esta noite, porque a nova versão é a única correção completa. A CISA diz para inventariar todos os sistemas que executam PHP, incluindo cópias dentro de outro software, aplicar o patch e desativar os sistemas PHP se não puderem ser atualizados. A Amazon aconselha rever os registos até 17 de outubro, quando viu a primeira tentativa.
Transcrição traduzida
Traduzido da narração original em inglês. Áudio e legendas disponíveis são controlados pelo YouTube.
Quem tentou o PHP2Shell quatro dias antes?
0:00 Um embargo de segurança deve manter um bug em segredo até que o patch seja lançado. A Amazon registou uma tentativa contra o bug crítico do PHP quatro dias antes. Neste vídeo, quem o encontrou? Como vazou o embargo? E quão grave é, na verdade? E a empresa culpada pelo vazamento tem uma defesa que eu não esperava. Eu chegarei a isso. É quinta-feira, 22 de outubro, e este é o The Daily Diff.
0:21 PHP é uma linguagem de script que constrói páginas web no servidor, pouco antes de chegarem a si. Tem mais de trinta anos e, por uma estimativa, executa cerca de setenta por cento dos websites, incluindo o WordPress e o software por trás da Wikipedia. Os programadores adoram gozar com ele, geralmente a partir de uma página que o PHP lhes está a servir. A sua manutenção é uma organização sem fins lucrativos com cerca de treze engenheiros.
Quais são os dois bugs do PHP2Shell?
0:41 Na quarta-feira, o PHP lançou correções de emergência para duas falhas críticas que permitem a um estranho executar código num servidor sem login. Juntos são chamados PHP2Shell, e remontam ao PHP cinco ponto quatro. Aqui está o primeiro bug em palavras simples. O PHP atribui a cada pedido um orçamento de memória. Se um pedido atingir esse limite exatamente no momento errado, o PHP desiste à pressa e deixa o pedido a meio. Então, o passo de limpeza confia na coisa meio construída.
1:07 O segundo bug é um remanescente. Um erro fatal pode deixar uma nota a apontar para a memória que pertencia ao último pedido. O mesmo trabalhador lida com o próximo pedido e segue a nota. Nessa altura, outra pessoa vive nesse endereço. No Apache com mod PHP, o dano acontece antes do seu próprio código ser executado, assim a sua página de login nunca tem voto. A Wiz diz que até um script "hello world" está exposto. A correção remove a saída de emergência do PHP por falta de memória.
1:32 Em vez de abortar a meio do pedido, o PHP agora para educadamente no próximo ponto seguro. A parte estranha é a idade da primeira pista.
Por que um bug conhecido esperou dois anos?
1:39 Em 2024, uma auditoria de segurança externa levou um desenvolvedor principal do PHP aos primeiros sinais do problema de memória. Nenhum exploit era conhecido, e cada correção quebrava algo. Uma equipa que decide por consenso não conseguiu escolher, então o bug esperou. Depois, em agosto, os descobridores chegaram em dias.
Quem encontrou o PHP2Shell e como?
1:56 O investigador Ryan Austin, da Calif, encontrou-o a 1 de agosto, trabalhando através do programa Patch the Planet da OpenAI. A OpenAI relatou a mesma causa raiz de forma independente. A Wiz encontrou variantes algumas semanas depois com os modelos Gemini e GPT. Austin diz que usou modelos que qualquer um pode obter, mais uma teoria sobre onde os antigos bugs do PHP se escondem. A OpenAI diz que a IA de ponta foi a chave. O bug tinha-se escondido por mais de uma década. O lançamento estava planeado para quinta-feira.
Como vazou o embargo do PHP2Shell?
2:21 Na terça-feira, os dois números CVE começaram a circular online, com uma hora de lançamento errada e uma pontuação errada de dez. O PHP adiantou o lançamento em um dia. Naquela noite, a Calif publicou acidentalmente um vídeo da sua prova de conceito em funcionamento, e as cópias sobreviveram à eliminação. Na manhã de quarta-feira, mais de seis horas antes do lançamento, a Chainguard publicou imagens construídas contendo a correção. O PHP diz que qualquer atacante poderia estudar essa correção enquanto todos os outros esperavam.
2:46 Um patch também é um diff, e os atacantes leem diffs.
O PHP2Shell está a ser explorado e por quem?
2:50 Então, quem está a ser realmente atingido? A "honeypot" da Amazon registou uma tentativa a 17 de outubro e depois disse que o PHP2Shell está amplamente explorado. A watchTowr reporta exploração na natureza. A Cisa disse que não tinha observado nenhum quando publicou, e a equipa do PHP não viu nenhum exploit em funcionamento no lançamento. O CEO da Cloudflare disse que viu milhares de tentativas nas dez horas antes do anúncio, e milhões até quinta-feira de manhã.
3:13 A Amazon é cuidadosa num ponto. Não sabe se as suas primeiras tentativas teriam funcionado num sistema real. Uma tentativa é apenas uma batida à porta. Então, quão mau é, realmente? A watchTowr diz que os exploits públicos que circulam maioritariamente "crasham" ou não fazem nada. A VulnCheck diz que a execução de código funciona em algumas configurações, e nenhum dos públicos supera a aleatorização de memória em servidores x86 padrão. O investigador Elias Taylor diz que não é tão fácil quanto o Log4Shell.
3:40 Todos ainda dizem para aplicar o patch. Os governos não esperaram pelo veredicto.
O que os governos tiraram do ar?
3:44 A NSA disse às organizações que não podiam aplicar o patch para desligar os sistemas PHP, e o Centro Nacional de Cibersegurança do Reino Unido deu conselhos semelhantes. Sites holandeses, incluindo o serviço nacional de identidade digital, ficaram inativos, juntamente com um site da polícia de Paris. A Wikimedia desativou vários sistemas como precaução. A Palo Alto Networks contabilizou mais de vinte e dois milhões de instâncias expostas. E um professor australiano fez o ponto mais pertinente. Os sites com que se preocupar são aqueles que não estão inativos hoje.
Quais versões do PHP recebem uma correção?
4:11 Existem correções para PHP oito ponto dois a oito ponto cinco. Para sete ponto quatro, oito ponto zero e oito ponto um, o PHP publicou apenas patches de origem. As versões mais antigas não recebem nada do projeto PHP, então pergunte à sua distribuição. As soluções alternativas reduzem as probabilidades, mas o PHP diz que a atualização é a única correção completa. É a mesma lição do episódio eMudhra de ontem,
O que fazer com o PHP2Shell esta noite?
4:32 porque existir uma correção não é o mesmo que o processo em execução a ter. Encontre cada PHP na sua stack, até as cópias escondidas dentro de outro software. Atualize, reinicie os "workers" e verifique os registos até 17 de outubro. No mesmo dia, o GitLab lançou uma versão crítica de patch,
O que mais lançou um patch RCE crítico hoje?
4:47 a dezenove ponto cinco ponto um. Um "integer overflow" no seu compilador de expressões regulares permite que um utilizador não autenticado execute código no servidor, e a sua pontuação é de dez em dez. O GitLab ponto com já está corrigido. As instalações autogerenciadas precisam da atualização.
Por que a Meta foi ordenada a pagar 25 mil milhões de dólares?
5:01 Entretanto, no Novo México, um juiz ordenou à Meta que pagasse vinte e cinco mil milhões de dólares em penalidades por causa da Cambridge Analytica. O júri contabilizou mais de quarenta e três milhões de violações a até cinco mil dólares cada, o que totalizou cerca de duzentos e vinte mil milhões antes de o juiz o reduzir. A Meta diz que vai ganhar no recurso. Agora, a defesa que prometi.
Qual é a defesa da Chainguard para a correção antecipada?
5:19 O CEO da Chainguard disse ao The Register que encontrou os mesmos bugs na sexta-feira à noite, depois de saber que algo estava a acontecer no PHP, com um "prompt" básico para encontrar vulnerabilidades ruins. Ele diz que lançou a correção mais cedo porque as pessoas já estavam a ser afetadas. Se preferir ler isto do que ouvir-me dizer, o "diff" chega à sua caixa de entrada todas as manhãs, gratuitamente em thedailydiff.dev, link abaixo. Então o veredito de hoje é SHIP IT.
O que recebe o carimbo SHIP IT?
5:39 Envie a atualização do PHP esta noite, porque o novo número de versão é a única correção completa. E essa é a diferença de hoje. Eu sou o Niko da Axrisi. Mescle responsavelmente.
Fontes
- Today's PHP Security Release, and How We're Strengthening PHP SecurityThe PHP Foundation
- RCE via OOM corruption (GHSA-w8hw-w9fx-j79w)PHP security advisory
- RCE via stale global state (GHSA-6wmf-4rv5-p3rp)PHP security advisory
- Upcoming Critical PHP Security Releasephp.net
- php2shellCalif
- PHP2Shell: AI uncovers critical RCE vulnerabilities affecting 70% of the InternetWiz Research
- Amazon Threat Intelligence identifies PHP2Shell exploitation prior to public disclosure in MadPotAWS Security Blog
- Critical Vulnerabilities in PHP Require Immediate PatchingCISA
- Flaw in PHP computer language leads to shutdown of websites around worldThe Guardian
- What is PHP, and how bad is the computer language flaw causing website shutdowns globally?The Guardian
- PHP2Shell Exploitation Started Days Before PatchesSecurityWeek
- PHP2Shell: Responding to CVE-2026-109618 and CVE-2026-109619Tanium
- There isn't an easy exploit for this PHP vulnerabilityElias Taylor
- PHP blames supply chain security biz Chainguard for putting entire web at riskThe Register
- PHP2Shell: 22M exposed servers at risk as emergency patches releasedTechTarget
- PHP ships emergency patches for critical PHP2Shell flawsBleepingComputer
- GitLab Critical Patch Release: 19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10, 18.11.13GitLab
- Meta ordered to pay $25 billion penalty in New Mexico Cambridge Analytica caseCNBC
- Tell HN: 2x PHP RCE CVEs with CVSS 10.0 IncomingHacker News



