+− THE DAILY DIFFdev & AI news
SHIP IT

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.

Want to see our stories first on Google? Add us to your preferred sources — it helps us grow.

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.

Veja esta parte 0:41 · PHP security advisory · PHP security advisory · The PHP Foundation

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.

Veja esta parte 4:11 · The PHP Foundation · BleepingComputer

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.

Veja esta parte 1:37 · The PHP Foundation

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.

Veja esta parte 2:50 · AWS Security Blog · CISA · SecurityWeek

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.

Veja esta parte 5:38 · CISA · AWS Security Blog

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

  1. Today's PHP Security Release, and How We're Strengthening PHP SecurityThe PHP Foundation
  2. RCE via OOM corruption (GHSA-w8hw-w9fx-j79w)PHP security advisory
  3. RCE via stale global state (GHSA-6wmf-4rv5-p3rp)PHP security advisory
  4. Upcoming Critical PHP Security Releasephp.net
  5. php2shellCalif
  6. PHP2Shell: AI uncovers critical RCE vulnerabilities affecting 70% of the InternetWiz Research
  7. Amazon Threat Intelligence identifies PHP2Shell exploitation prior to public disclosure in MadPotAWS Security Blog
  8. Critical Vulnerabilities in PHP Require Immediate PatchingCISA
  9. Flaw in PHP computer language leads to shutdown of websites around worldThe Guardian
  10. What is PHP, and how bad is the computer language flaw causing website shutdowns globally?The Guardian
  11. PHP2Shell Exploitation Started Days Before PatchesSecurityWeek
  12. PHP2Shell: Responding to CVE-2026-109618 and CVE-2026-109619Tanium
  13. There isn't an easy exploit for this PHP vulnerabilityElias Taylor
  14. PHP blames supply chain security biz Chainguard for putting entire web at riskThe Register
  15. PHP2Shell: 22M exposed servers at risk as emergency patches releasedTechTarget
  16. PHP ships emergency patches for critical PHP2Shell flawsBleepingComputer
  17. 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
  18. Meta ordered to pay $25 billion penalty in New Mexico Cambridge Analytica caseCNBC
  19. Tell HN: 2x PHP RCE CVEs with CVSS 10.0 IncomingHacker News

Niko from Axrisi

Nikoloz Turazashvili · Vexrail · Axrisi

LinkedIn · dev.to · GitHub · X · Substack

Vídeos relacionados