+− THE DAILY DIFFdev & AI news
SHIP IT

PHP2Shell: duas falhas críticas no PHP, um embargo que vazou e o que realmente se sabe sobre a exploraçã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.

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 em 21 de outubro de 2026. O episódio explica os dois bugs de memória em palavras simples, por que uma pista de uma auditoria de 2024 esperou por uma correção, como o embargo vazou e quais fontes dizem o quê sobre a exploração. Também cobre o lançamento da correção crítica no mesmo dia do GitLab e uma ordem de penalidade de US$ 25 bilhões da Meta no Novo México.

Leia a edição escrita (Inglês) ↗

O que este vídeo aborda

  • Ambas as falhas são avaliadas em 9.2 no CVSS v4.0 pela equipe 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 ocorre porque o PHP deixa uma requisição pela metade quando fica sem memória no momento errado. A segunda vem de um ponteiro restante para a memória de uma requisição que uma requisição posterior no mesmo worker pode usar. No Apache com mod_php, o primeiro caminho é executado antes do código do aplicativo.
  • Um desenvolvedor principal do PHP encontrou os primeiros sinais do problema de memória durante uma auditoria de 2024. A Fundação PHP diz que as correções concorrentes tinham desvantagens e uma equipe de segurança baseada em consenso lutou para escolher, o que ela chama de falha estrutural.
  • A Fundação diz que os IDs CVE vazaram em 20 de outubro, Calif publicou erroneamente um vídeo de prova de conceito, e 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 sendo afetadas e que ele encontrou os bugs de forma independente.
  • As fontes discordam sobre a exploração. A Amazon registrou uma tentativa em 17 de outubro e depois disse que o PHP2Shell foi amplamente explorado. watchTowr relatou exploração na natureza. A CISA não havia observado exploração na publicação, e a equipe PHP não encontrou nenhuma exploração funcional no lançamento. Muitos scripts de prova de conceito públicos são relatados como não funcionando.
  • Verifique todos os lugares onde o PHP é executado, incluindo cópias dentro de outros softwares, atualize, reinicie os workers e revise os logs a partir de 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 avaliadas em 9.2 pela equipe PHP. A primeira deixa uma requisição pela metade quando o PHP fica sem memória no momento errado, e a limpeza então confia nela. A segunda deixa um ponteiro para a memória de uma requisição que uma requisição posterior no mesmo worker pode usar. Ambas podem levar à execução de código sem um login.

Assista a esta parte 0:41 · PHP security advisory · PHP security advisory · The PHP Foundation

Quais versões do PHP têm uma correção para o PHP2Shell, e o que acontece com as versões não suportadas?

O projeto PHP lançou correções nas versões 8.2.35, 8.3.36, 8.4.27 e 8.5.12 em 21 de outubro. Para as versões 7.4, 8.0 e 8.1, publicou apenas patches de origem, e o BleepingComputer relata que as distribuições e fornecedores de suporte de longo prazo podem fornecer correções retroativas. O PHP diz que não há solução alternativa completa, então a atualização ou a solicitação de um pacote corrigido a um fornecedor é a única opção segura.

Assista a 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 desvantagens, como quebras de compatibilidade. A equipe de segurança decide por consenso e lutou para escolher, o que a Fundação chama de falha estrutural causada por seu processo de decisão e falta de recursos.

Assista a esta parte 1:37 · The PHP Foundation

O PHP2Shell está sendo explorado, e quão fácil é explorá-lo?

As fontes discordam. A Amazon registrou uma tentativa de exploração em 17 de outubro e depois disse que o PHP2Shell foi amplamente explorado, e a watchTowr relatou exploração na natureza. A CISA não havia observado exploração na publicação, e a equipe do PHP não viu nenhum exploit funcional no lançamento. A watchTowr diz que a maioria dos scripts de exploração públicos travam ou não fazem nada, e a VulnCheck descobriu que a execução de código funciona apenas em algumas configurações.

Assista a esta parte 2:50 · AWS Security Blog · CISA · SecurityWeek

Qual foi o veredito do The Daily Diff sobre o PHP2Shell?

O veredito do The Daily Diff foi SHIP IT: envie a atualização do PHP hoje à 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 outros softwares, aplicar o patch e tirar os sistemas PHP do ar se não puderem ser atualizados. A Amazon aconselha revisar os logs a partir de 17 de outubro, quando viu a primeira tentativa.

Assista a 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 PHP2Shell quatro dias antes?

0:00 Um embargo de segurança deveria manter um bug em segredo até o patch ser lançado. A Amazon registrou uma tentativa contra o bug crítico do PHP quatro dias antes. Neste vídeo, quem o encontrou? Como o embargo vazou? E quão ruim é, realmente? E a empresa culpada pelo vazamento tem uma defesa que eu não esperava. Eu vou chegar lá. É quinta-feira, 22 de outubro, e este é o The Daily Diff.

0:21 PHP é uma linguagem de script que constrói páginas da web no servidor pouco antes de elas chegarem a você. Tem mais de trinta anos e, por uma estimativa, executa cerca de setenta por cento dos sites, incluindo WordPress e o software por trás da Wikipédia. Os desenvolvedores adoram ridicularizá-lo, geralmente a partir de uma página que o PHP está servindo a eles. 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 que um estranho execute código em um servidor sem login. Juntos, eles são chamados PHP2Shell, e remontam ao PHP cinco ponto quatro. Aqui está o primeiro bug em palavras simples. O PHP dá a cada requisição um orçamento de memória. Se uma requisição atinge esse limite no momento errado, o PHP desiste com pressa e deixa a requisição pela metade. Então, a etapa de limpeza confia na coisa pela metade.

1:07 O segundo bug é um resíduo. Um erro fatal pode deixar uma nota apontando para a memória que pertencia à última requisição. O mesmo worker manipula a próxima requisição e segue a nota. Até então, outra pessoa vive naquele endereço. No Apache com mod PHP, o dano acontece antes que seu próprio código seja executado, então sua página de login nunca tem voz. 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 no meio da requisição, 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 equipe que decide por consenso não conseguiu escolher, então o bug esperou. Então, em agosto, os descobridores chegaram em poucos dias.

Quem encontrou o PHP2Shell e como?

1:56 O pesquisador Ryan Austin, da Calif, o encontrou em 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 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 estava escondido há mais de uma década. O lançamento estava planejado para quinta-feira.

Como o embargo do PHP2Shell vazou?

2:21 Na terça-feira, os dois números CVE começaram a circular online, com um horário de lançamento errado e uma pontuação errada de dez. O PHP antecipou o lançamento em um dia. Naquela noite, a Calif publicou acidentalmente um vídeo de sua prova de conceito funcionando, e cópias sobreviveram à exclusã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á sendo explorado e por quem?

2:50 Então, quem está realmente sendo atingido? A honeypot da Amazon registrou uma tentativa em 17 de outubro e depois disse que o PHP2Shell é amplamente explorado. watchTowr relata exploração na natureza. A Cisa disse que não havia observado nenhuma quando publicou, e a equipe do PHP não viu nenhum exploit funcionando no lançamento. O CEO da Cloudflare disse que viu milhares de tentativas nas dez horas antes do anúncio, e milhões até a manhã de quinta-feira.

3:13 A Amazon é cuidadosa em um ponto. Ela não sabe se suas primeiras tentativas teriam funcionado em um sistema real. Uma tentativa é apenas uma batida na porta. Então, quão ruim é, realmente? watchTowr diz que os exploits públicos que circulam geralmente travam ou não fazem nada. VulnCheck diz que a execução de código funciona em algumas configurações, e nenhuma das públicas supera a randomização de memória em servidores x86 padrão. O pesquisador Elias Taylor diz que não é tão fácil quanto o Log4Shell.

3:40 Todos ainda dizem patch. Os governos não esperaram pelo veredito.

O que os governos tiraram do ar?

3:44 A NSA disse às organizações que não podiam fazer o patch para tirar os sistemas PHP do ar, e o National Cyber Security Centre 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 tirou vários sistemas do ar 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 agudo. Os sites com que se preocupar são os 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. Versões mais antigas não recebem nada do projeto PHP, então pergunte à sua distribuição. As soluções alternativas diminuem as chances, 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 você faz com o PHP2Shell hoje à noite?

4:32 porque uma correção existente não é o mesmo que o processo em execução tê-la. Encontre todos os PHPs em sua pilha, mesmo as cópias escondidas dentro de outros softwares. Atualize, reinicie os workers e verifique os logs a partir de 17 de outubro. No mesmo dia, o GitLab lançou uma versão de patch crítica,

O que mais lançou um patch RCE crítico hoje?

4:47 dezenove ponto cinco ponto um. Um estouro de inteiro em seu compilador de expressões regulares permite que um usuário não autenticado execute código no servidor, e sua pontuação é de dez em dez. GitLab ponto com já está corrigido. Instalações autogerenciadas precisam da atualização.

Por que a Meta foi condenada a pagar US$ 25 bilhões?

5:01 Enquanto isso, no Novo México, um juiz ordenou que a Meta pagasse vinte e cinco bilhões de dólares em multas por 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 bilhões antes que o juiz cortasse. A Meta diz que vencerá 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 em uma sexta-feira à noite, depois de saber que algo estava por vir no PHP, com um prompt básico para encontrar vulnerabilidades ruins. Ele diz que lançou antes porque as pessoas já estavam sendo atingidas. Se você preferir ler isso a me ouvir dizer, o diff chega na sua caixa de entrada todas as manhãs, gratuitamente em the daily diff dot dev, link abaixo. Então o veredito de hoje é SHIP IT.

O que recebe o selo SHIP IT?

5:39 Envie a atualização do PHP hoje à noite, porque o novo número de versão é a única correção completa. E esse é o diff de hoje. Sou Niko da Axrisi. Mescle com responsabilidade.

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