Ilustração de uma tela de código PHP e terminal, representando o risco de execução remota associado ao PHP2Shell
Imagem ilustrativa criada para este artigo; o código exibido não reproduz o exploit real.
Tech

PHP2Shell: o que aconteceu e como atualizar o PHP

Uma plataforma de RH ficou fora do ar. Sites e aplicativos da Orange foram suspensos. Portais públicos dos Países Baixos também ficaram indisponíveis. As empresas tomaram essas medidas para corrigir duas falhas críticas no PHP, conhecidas como PHP2Shell.

A BambooHR interrompeu o acesso à plataforma em 21 de outubro. A pausa afetou tarefas importantes, como o processamento da folha de pagamento, e durou cerca de seis horas. A página de status da empresa registra a manutenção, a aplicação das correções e a retomada do serviço.

A Orange suspendeu temporariamente alguns sites e aplicativos; a empresa explicou a decisão em um comunicado publicado em sua sala de imprensa. Nos Países Baixos, portais como Overheid.nl, MijnOverheid.nl e DigiD foram tirados do ar por precaução. O governo neerlandês disse que, naquele momento, não havia sinais de exploração e detalhou a medida em sua nota oficial.

Essas interrupções mostram o efeito prático de uma falha numa tecnologia compartilhada por milhões de sites. Elas foram preventivas e, por si só, não comprovam invasão ou vazamento de dados.

Por que uma falha no PHP preocupa tanta gente

O PHP está presente em uma parte enorme da web. A medição mais recente da W3Techs aponta que ele é usado por 69,2% dos sites cuja linguagem de servidor é conhecida. Esse número não representa todos os sites existentes, mas dá uma noção do alcance potencial de uma falha no próprio PHP.

É por isso que o PHP2Shell não afeta apenas um plugin ou uma versão específica do WordPress. As falhas estão no runtime, a camada que executa o PHP no servidor. Sistemas feitos com WordPress, Drupal, Joomla e outras aplicações podem estar expostos quando usam uma versão vulnerável do runtime.

O que é o PHP2Shell

PHP2Shell é o nome associado a duas vulnerabilidades críticas: CVE-2026-109618 e CVE-2026-109619. Em determinadas condições, elas podem permitir que alguém envie uma requisição pela internet e faça o servidor executar código sem precisar entrar numa conta.

As duas falhas envolvem o gerenciamento de memória do PHP. Simplificando, uma requisição pode terminar de forma inesperada e deixar o processo com uma referência para uma área de memória que já foi liberada. Quando uma requisição seguinte reutiliza esse estado, o resultado pode ser a exposição de dados da memória ou, em certos cenários, a execução de código no servidor. A análise técnica da Wiz mostra como pesquisadores demonstraram esse impacto em aplicações populares, embora a origem do problema estivesse no próprio PHP.

O projeto PHP publicou versões corrigidas para os ramos 8.2, 8.3, 8.4 e 8.5: 8.2.35, 8.3.36, 8.4.27 e 8.5.12. A equipe recomenda atualizar. O aviso está no arquivo oficial de segurança do PHP.

Como saber se o seu site precisa de atualização

Se você administra um servidor ou aplicação com PHP, confirme qual versão está rodando e atualize o pacote do runtime. Atualizar o WordPress, um tema ou um plugin não troca automaticamente a versão do PHP instalada no servidor.

Em hospedagens gerenciadas, pergunte ao provedor qual versão está ativa e se a correção já foi aplicada. Em servidores próprios, a equipe técnica deve conferir o pacote indicado pelo sistema operacional ou fornecedor e seguir as instruções de reinício dos processos PHP.

Quem usa PHP 8.1 ou uma versão anterior precisa confirmar o suporte com o fornecedor. O projeto PHP não mantém correções upstream para todos esses ramos, embora algumas distribuições Linux e fornecedores possam disponibilizar correções retroportadas. A orientação da AWS reforça que instalar a versão corrigida é a única forma de resolver completamente as duas falhas.

Um aviso adicional publicado depois

Em 23 de outubro, o projeto PHP publicou um aviso sobre uma terceira falha, a CVE-2026-115560. Ela depende de uma combinação incomum de configurações de sessão e código da aplicação, por isso não se aplica da mesma forma a toda instalação.

Enquanto prepara uma correção regular, o PHP recomenda desativar temporariamente o acompanhamento de progresso de uploads em sessões. A instrução é definir session.upload_progress.enabled=0. Como essa mudança pode afetar recursos da aplicação, confirme com a equipe técnica ou com a hospedagem antes de aplicá-la. O detalhe está no aviso oficial sobre o progresso de upload em sessões.

Dúvidas frequentes

O PHP2Shell significa que meu site foi invadido?

Não. As falhas criaram risco para sistemas vulneráveis, mas as suspensões citadas foram medidas preventivas. Elas não são prova de que houve invasão ou roubo de dados.

Atualizar o WordPress resolve o problema?

Não necessariamente. O PHP2Shell está no runtime PHP do servidor. É preciso confirmar a versão instalada e aplicar a atualização indicada pela hospedagem ou pelo fornecedor do sistema operacional.

Meu site usa PHP 8.1 ou anterior. O que faço?

Confirme com o provedor se existe uma correção retroportada para o pacote que ele mantém. Se não houver, peça orientação sobre uma versão suportada e sobre as medidas temporárias adequadas ao seu ambiente.

O que fazer agora

Comece pelo básico: descubra qual versão do PHP está ativa, confirme com o provedor se a correção foi aplicada e acompanhe os avisos do projeto PHP e do fornecedor. Se não conseguir atualizar imediatamente, peça orientação sobre as medidas temporárias e seus limites.

O PHP2Shell também deixou claro por que inventariar as tecnologias do servidor importa. Uma empresa pode atualizar o site com frequência e, ainda assim, continuar exposta se o runtime ficar esquecido. Para outros temas de tecnologia e desenvolvimento, acompanhe o blog da Pump. Se precisar de apoio para manter seus sistemas atualizados, fale com a Pump.

#Cibersegurança#PHP#PHP2Shell#WordPress#vulnerabilidades

Receba o próximo artigo

Davi
Davi
Fundador da Pump e redator desde 2021. Apaixonado por tecnologia e cultura pop.
← Voltar ao blog