whatsapp
Dédalo
PHP2Shell: o que a falha mundial do PHP ensina sobre a ISO 27001?

Em 20 e 21 de outubro de 2026, o mundo da tecnologia acordou com um alerta incomum. Foram identificadas duas falhas críticas no próprio núcleo do PHP, batizadas pela comunidade de PHP2Shell, que possibilitam que um atacante execute código remotamente em servidores web sem precisar de login. Como o PHP está por trás de cerca de 70% dos sites cuja linguagem de servidor é conhecida, incluindo WordPress, MediaWiki e muitas lojas virtuais, o problema passou a ser de praticamente todas as empresas com presença na internet.

Este artigo explica o que é a falha, como ela veio a público e, principalmente, o que ela ensina. As organizações que já operam um Sistema de Gestão de Segurança da Informação (SGSI) baseado na ISO/IEC 27001:2022 não ficaram imunes, mas sabem onde o PHP roda, quem decide o que fazer e em quanto tempo conseguem corrigir. Essa diferença, em um incidente de escala mundial, vale horas, e horas, neste caso, valem muito.

O que é a falha PHP2Shell?

PHP2Shell é o nome dado ao par de vulnerabilidades CVE-2026-109618 e CVE-2026-109619, ambas classificadas como críticas, com nota 9,2 de 10 no CVSS v4.0. As duas permitem execução remota de código (RCE) por um atacante não autenticado, ou seja, alguém que não tem nenhuma conta no sistema pode, com requisições preparadas, assumir o controle do servidor.

De forma simplificada, o problema está na maneira como o PHP lida com situações de falta de memória e de erro fatal durante o processamento de uma requisição:

CVE

O que acontece

Consequência

CVE-2026-109618

Uma condição de falta de memória, provocada durante o tratamento de dados de upload de arquivos, interrompe o PHP quando dados internos da requisição estão só parcialmente inicializados. A rotina de limpeza depois trata esses dados inválidos como válidos.

Vazamento de memória do servidor (no estilo do antigo Heartbleed) e execução remota de código

CVE-2026-109619

Um estado interno que pertence a uma requisição sobrevive depois que a memória que o sustentava foi liberada. Uma requisição seguinte, atendida pelo mesmo processo, pode usar esse estado “velho”.

Execução remota de código

Três pontos tornam o caso especialmente grave:

  • Está no núcleo da linguagem. Não é um plugin ou um CMS específico. A falha está no próprio PHP, então afeta qualquer aplicação que rode sobre ele, nos dois modos mais comuns de execução (mod_php e PHP-FPM).

  • Atinge praticamente todas as versões. Segundo os pesquisadores, qualquer servidor com PHP 5.4.0 ou posterior pode estar vulnerável. As correções oficiais saíram apenas para as versões suportadas: 8.5.12, 8.4.27, 8.3.36 e 8.2.35.

  • Versões antigas ficaram sem remédio. PHP 5 e PHP 7 já estão fora de suporte e não receberão correção oficial. O PHP 8.2 deixa de ser suportado em 31 de dezembro de 2026.


 

Como aconteceu a falha PHP2Shell?

A falha foi tratada em divulgação coordenada por quase três meses, mas os detalhes vazaram um dia antes da correção e os ataques começaram antes do patch. É esse descompasso que transformou um problema técnico em uma corrida mundial.

Data (2026)

Evento

1º de agosto

Pesquisadores da Calif encontram múltiplos caminhos para execução remota de código

11 de agosto

A Calif reporta o primeiro bug ao projeto PHP e inicia a divulgação coordenada

24 de agosto

A Wiz Research reporta, de forma independente, as mesmas vulnerabilidades

20 de outubro

Os detalhes vazam antes da data prevista; a watchTowr confirma a execução remota de código

21 de outubro, 07h43 UTC

A Cloudflare relata os primeiros ataques e publica regras de WAF

21 de outubro, 14h00 UTC

O PHP publica as versões corrigidas e os pesquisadores divulgam os detalhes


 

A raiz técnica não é nova. A classe de problema ligada ao limite de memória do PHP é conhecida desde 2004, e, em 2026, três equipes diferentes conseguiram, de forma independente, transformá-la em exploração funcional. Ao mesmo tempo, fornecedores como Cloudflare e Akamai registraram varreduras automatizadas em escala mundial procurando servidores vulneráveis.

A lição de processo é que entre o vazamento e a correção oficial houve uma janela de quase 24 horas em que a única defesa era controle compensatório (bloqueio na borda, WAF, redução de exposição). Quem não sabia quais servidores rodavam PHP, não conseguiu nem começar.


 

Por que o impacto da falha é mundial?

A Palo Alto Networks identificou mais de 22,6 milhões de instâncias expostas potencialmente vulneráveis já no dia da divulgação. O número reflete três características do PHP que se aplicam a empresas de qualquer porte:

  • Onipresença: Sites institucionais, lojas virtuais, portais de clientes, intranets, ERPs e sistemas legados usam PHP, muitas vezes sem que a área de negócio saiba disso.

  • PHP “escondido”: A linguagem vem embarcada em produtos de terceiros: appliances, painéis de hospedagem, ferramentas de monitoramento e soluções SaaS. O centro nacional de cibersegurança da Holanda (NCSC-NL) chegou a publicar uma lista de produtos com dependência de PHP potencialmente afetados.

  • Terceirização: Muitas empresas não administram o próprio servidor: dependem de agência, hospedagem ou fornecedor de software. A vulnerabilidade é da empresa, mas a correção está na mão de outra pessoa.

Como alertaram especialistas, uma execução remota de código é a porta de entrada típica para instalação de webshells, roubo de dados, movimentação lateral na rede e, no fim da cadeia, ransomware. Para quem trata dados pessoais, isso também significa possível incidente com obrigação de comunicação à ANPD e aos titulares, nos termos da LGPD.


 

Como as empresas poderiam ter se prevenido?

Nenhum controle impede que uma linguagem tenha uma falha desconhecida (um zero-day). O que a ISO 27001 faz é garantir que, quando a falha aparece, a empresa já tenha a base pronta: saber o que tem, reduzir a superfície de ataque, detectar abuso e reagir rápido. A tabela abaixo relaciona os controles do Anexo A da ISO/IEC 27001:2022 (detalhados na ISO/IEC 27002:2022) ao cenário PHP2Shell.

Controle

O que ele exige

Como teria ajudado no PHP2Shell

5.9 Inventário de informações e outros ativos associados

Inventário atualizado de ativos, com responsável definido

Saber em minutos quais servidores, sites e produtos usam PHP, em qual versão e quem responde por cada um

8.8 Gestão de vulnerabilidades técnicas

Obter informação sobre vulnerabilidades, avaliar exposição e corrigir em prazo definido

Processo e prazos de correção para vulnerabilidades críticas já acordados antes da crise; versões fora de suporte (PHP 5 e 7) tratadas como risco conhecido

5.7 Inteligência de ameaças

Coletar e analisar informações sobre ameaças

Receber o alerta no dia 20, e não pela imprensa no dia 22

8.9 Gestão de configuração

Configurações seguras padronizadas e controladas

Servidores endurecidos (hardening), com recursos desnecessários do PHP desativados, o que reduz caminhos de exploração

8.20 Segurança de redes e 8.22 Segregação de redes

Proteção e separação de redes

WAF na borda já disponível para receber regras emergenciais; servidor web isolado do banco de dados e da rede interna, limitando a movimentação lateral

8.2 Direitos de acesso privilegiado

Restringir privilégios

Processo do PHP executando com o mínimo de permissões, o que diminui o estrago de uma execução remota

8.15 Registros e 8.16 Monitoramento de atividades

Gerar, proteger e analisar logs; detectar comportamento anômalo

Identificar tentativas de exploração e confirmar se houve ou não comprometimento

8.7 Proteção contra malware

Detecção e prevenção de código malicioso

Detectar webshells e arquivos PHP estranhos plantados após a exploração

8.13 Backup das informações

Cópias testadas e protegidas

Restaurar com segurança um ambiente comprometido

5.19 a 5.22 e 5.23 Fornecedores e serviços em nuvem

Requisitos de segurança em contrato, monitoramento de fornecedores e da cadeia de TIC

Contratos com hospedagem, agência e fornecedores de software prevendo prazo de correção e dever de comunicar incidentes

8.32 Gestão de mudanças e 8.31 Separação de ambientes

Mudanças controladas, inclusive emergenciais; homologação separada da produção

Aplicar um patch de emergência no mesmo dia, testado em homologação e sem derrubar o negócio

5.24 Planejamento e preparação da gestão de incidentes

Papéis, responsabilidades e procedimentos de resposta definidos

Saber quem convoca, quem decide tirar um sistema do ar e quem comunica clientes e a ANPD

5.29 e 5.30 Continuidade e prontidão de TIC

Manter a segurança durante a disrupção e ter capacidade de recuperação

Plano para operar em modo reduzido (site em manutenção ou somente leitura) enquanto a correção não chega


 

Os controles só funcionam porque estão amarrados às cláusulas da norma. A avaliação de riscos (6.1.2) é o que coloca “servidores web expostos com software de terceiros” na lista de riscos relevantes. O tratamento de riscos (6.1.3) e a Declaração de Aplicabilidade são o que transformam esse risco nos controles acima. E a auditoria interna (9.2) e a análise crítica pela direção (9.3) são o que garantem que o inventário e o processo de patch existam de verdade, e não apenas no papel.


 

O que fazer agora: Correção ligada aos controles

Com a falha já pública e explorada, a prioridade é atualizar o PHP e verificar se houve comprometimento. As ações abaixo seguem as recomendações das autoridades de cibersegurança e de pesquisadores, organizadas em fases e relacionadas aos controles da ISO 27001:

Nas primeiras horas: conter

  1. Acionar o processo de resposta a incidentes e tratar o caso como evento de segurança, com responsável e registro desde o início. Controles 5.24, 5.25 e 6.8.

  2. Levantar todos os ativos com PHP, priorizando os expostos à internet. Não procure só versões antigas: todas podem estar afetadas. Inclua appliances, painéis e softwares de terceiros que trazem PHP embarcado. Controle 5.9.

  3. Atualizar para as versões corrigidas (8.5.12, 8.4.27, 8.3.36 ou 8.2.35), usando o fluxo de mudança emergencial. Controles 8.8 e 8.32.

  4. Onde não for possível atualizar de imediato, aplicar controles compensatórios: regras de WAF na borda, bloqueio temporário de envios do tipo upload de arquivos (multipart/form-data) onde a aplicação permitir, e os ajustes de configuração temporários indicados no aviso oficial do PHP. Controles 8.9, 8.20 e 8.26.

  5. Se nada disso for viável a tempo, tirar o sistema do ar ou colocá-lo em modo somente leitura. É uma decisão de negócio, e deve ser tomada por quem tem autoridade para isso. Controles 5.29 e 5.30.

Nos primeiros dias: investigar e erradicar

  1. Procurar sinais de comprometimento, especialmente para sistemas que ficaram expostos entre 20 e 21 de outubro: webshells, arquivos PHP novos em pastas de upload, contas criadas, tarefas agendadas e conexões de saída incomuns. Controles 8.15, 8.16 e 8.7.

  2. Preservar evidências (logs, imagens de disco) antes de limpar ou reinstalar. Controle 5.28.

  3. Em caso de comprometimento, reconstruir a partir de fonte confiável e restaurar dados de backup íntegro, trocando senhas, chaves e tokens que estavam no servidor. Controles 8.13, 5.17 e 8.24.

  4. Cobrar fornecedores (hospedagem, agência, fabricantes de produtos com PHP embarcado) por evidência de correção e por comunicação de qualquer incidente. Controles 5.19 a 5.22.

  5. Avaliar a LGPD: se houve acesso indevido a dados pessoais com risco ou dano relevante aos titulares, comunicar a ANPD e os titulares no prazo regulamentar. Controles 5.31 e 5.34.

Nas próximas semanas: aprender e melhorar

  1. Eliminar versões sem suporte. PHP 5 e 7 não terão correção, e o PHP 8.2 sai de suporte no fim de 2026; o risco de mantê-los deve ser tratado ou formalmente aceito pela direção. Controle 8.8 e cláusula 6.1.3.

  2. Rever a avaliação de riscos incluindo dependências de software de terceiros e de fornecedores. Cláusulas 6.1.2 e 8.2.

  3. Registrar lições aprendidas e abrir ações corretivas: o inventário estava completo? O alerta chegou a tempo? O patch levou quanto tempo? Controle 5.27 e cláusula 10.2.

  4. Levar o caso à análise crítica pela direção, com indicadores como tempo de detecção, tempo de correção e percentual de ativos atualizados. Cláusulas 9.1 e 9.3.


 

A importância da ISO 27001 para empresas de todos os portes

O PHP2Shell demonstra a importância da ISO 27001 para empresas de todos os portes. A norma não prescreve ferramentas caras, mas estabelece que a organização conheça seus riscos e escolha controles proporcionais a eles. O mesmo princípio se aplica a uma loja virtual com cinco funcionários e a um banco.

Perfil

Como a norma se aplica no cenário PHP2Shell

Pequena empresa com site ou loja virtual

Um inventário simples, um contrato com a hospedagem que preveja prazo de atualização e um contato definido para emergências já resolvem a maior parte do problema

Média empresa com sistemas próprios

Processo de gestão de vulnerabilidades, homologação para patches emergenciais, WAF e logs centralizados permitem corrigir no mesmo dia

Grande empresa ou grupo

Inteligência de ameaças, monitoramento contínuo, segregação de redes e resposta a incidentes estruturada reduzem a janela de exposição de dias para horas

Fornecedor de software ou SaaS

Desenvolvimento seguro, gestão de dependências e comunicação ágil com clientes viram diferencial comercial e exigência contratual


 

A norma é especialmente útil em cenários de incerteza por quatro motivos:

  • Ela é baseada em risco, não em lista de ameaças. Ninguém sabia do PHP2Shell em setembro, mas o risco “software exposto à internet com vulnerabilidade crítica” já estava na avaliação de quem tem um SGSI. A ameaça específica é nova; a resposta, não.

  • Ela define antes quem decide. Em uma crise, a pergunta mais cara é “quem autoriza tirar o site do ar?”. Com papéis e responsabilidades definidos (cláusula 5.3 e controle 5.24), a decisão leva minutos.

  • Ela integra segurança, continuidade e conformidade. O mesmo sistema de gestão trata o patch, a operação em modo reduzido e a avaliação de comunicação à ANPD. Para quem trata dados pessoais, a ISO/IEC 27701 aproxima ainda mais das exigências da LGPD.

  • Ela aprende com cada incidente. O ciclo de monitoramento, auditoria, análise crítica e melhoria contínua (cláusulas 9 e 10) faz com que o próximo incidente encontre a empresa mais preparada do que o anterior.

Por fim, a certificação ISO 27001 também gera confiança no mercado: em um momento como este, clientes e parceiros querem saber se o fornecedor tem processo para responder, e o certificado é a evidência independente de que tem.


 

Como preparar sua empresa para responder a incidentes de segurança?

O PHP2Shell não será a última falha crítica em uma tecnologia utilizada por grande parte dos sites na internet. Incidentes como este podem afetar empresas de qualquer porte ou segmento, e a diferença está na preparação antes do alerta. Inventário, processo de correção, monitoramento, contratos com fornecedores e uma equipe que saiba como agir, são algumas das ações que devem ser tomadas.

É exatamente isso que a ISO 27001 organiza. A norma estabelece processos para que a segurança da informação faça parte da gestão da empresa e, diante de uma nova vulnerabilidade, seja possível identificar os riscos e agir com rapidez.

A Dédalo Security atua na implementação da ISO 27001 e na preparação de empresas para a certificação. Entre em contato com um consultor e proteja sua empresa.


 

Fontes: