Situação atual: PHP2Shell. Duas vulnerabilidades críticas do PHP (CVSS 9,2) permitem executar código malicioso sem autenticação. Patches disponíveis desde 21/10/2026.O que fazer agora →

22,6 milhões de instâncias expostas: como interpretar os números

A Unit 42, a CybelAngel e outros apresentam números muito diferentes sobre o PHP2Shell. Explicamos o que foi contado e que número conta realmente para si.

Atualizado em 6 min de leituraSituação e enquadramento

Em resumo: Quantos servidores estão afetados pelo PHP2Shell só pode ser estimado. A Unit 42 contou, segundo a TechTarget, mais de 22,6 milhões de instâncias expostas, a CybelAngel indica cerca de 2,24 milhões de hosts PHP e a BleepingComputer noticia, com base no VirusTotal, mais de 5,1 milhões. Os números medem coisas diferentes e, por isso, não se contradizem. Para a sua empresa conta outro número: quantos sistemas PHP próprios são acessíveis e quantos deles têm o patch comprovado.

O ponto de partida: um número que faz manchetes

“22 milhões de servidores em perigo” estava, a 21 de outubro de 2026, em muitos títulos. O número vem da Unit 42, o departamento de investigação da Palo Alto Networks, e foi noticiado, entre outros, pela TechTarget. Pouco depois circularam outros números, em parte dez vezes menores.

Para os leitores fica a impressão de que ninguém sabe nada. Na verdade, os fornecedores contam simplesmente coisas diferentes com métodos diferentes. Quem o compreende pode usar os números em vez de se deixar intimidar por eles.

Quantos servidores estão afetados pelo PHP2Shell? Os números em resumo

Fonte Número O que foi contado
Unit 42 (Palo Alto Networks), segundo a TechTarget mais de 22,6 M instâncias expostas e potencialmente vulneráveis; método não explicado no relatório
VirusTotal, segundo a BleepingComputer mais de 5,1 M hosts PHP acessíveis a partir da Internet
CybelAngel, com base em dados do Shodan cerca de 2,24 M hosts que identificam PHP nas suas assinaturas
CybelAngel 59 % de cerca de 1,5 M proporção de hosts com versão visível em ramos sem atualização oficial
CybelAngel cerca de 740 000 hosts que identificam PHP mas ocultam a sua versão

Todos os números referem-se à situação por volta de 20 e 21 de outubro. São instantâneos e mudam a cada atualização aplicada.

Porque é que as contagens divergem tanto

Três efeitos explicam a maior parte das diferenças.

Instância, host, site. Um host é normalmente um endereço IP ou um servidor. Uma instância pode ser um serviço individual ou um site individual. Num servidor de alojamento partilhado correm muitas vezes centenas de sites. A própria CybelAngel chama a atenção: contam-se hosts, não organizações nem sites, pelo que o número real de aplicações acessíveis deverá ser mais elevado.

Versões ocultas. Muitos servidores não revelam a sua versão do PHP, por exemplo porque o expose_php está desativado. Ficam em falta nas estatísticas baseadas em versões. Porque é que ocultar faz sentido, mas não substitui a proteção, é explicado no artigo sobre indicações de versão e expose_php.

Backports. As distribuições e os fornecedores de alojamento aplicam por vezes correções sem alterar o número de versão. Um servidor que mostra para o exterior um número antigo pode, portanto, ter o patch aplicado. As contagens com base na versão apresentada sobrestimam, por isso, o número de sistemas sem patch. Como verificar o estado real nos seus sistemas está em Verificar versão do PHP e nível de patch.

Como surgem estas contagens

A maioria dos números assenta em serviços de pesquisa que consultam continuamente a Internet e guardam o que os servidores revelam sobre si. Um servidor web indica muitas vezes, nas suas respostas, o software e a versão, por exemplo no cabeçalho X-Powered-By. A CybelAngel apoia-se, segundo a sua própria descrição, em tais assinaturas a partir de dados do Shodan. Nada é atacado; apenas se lê o que já é publicamente visível.

Daí resulta uma regra de leitura simples para qualquer novo número nos media. Pergunte: o que foi contado, hosts, instâncias ou sites? Quando foi medido, antes ou depois de 21 de outubro? E como foi determinada a versão, pelo número apresentado ou por um teste real? Quem não souber responder a estas três perguntas deve tratar o número como uma ordem de grandeza aproximada, e não como um valor medido.

Importante

“Exposto” significa acessível e, segundo características externas, possivelmente vulnerável. Não significa atacado nem comprometido. O BSI não conhecia inicialmente ataques bem-sucedidos em larga escala confirmados.

O que as contagens mostram, ainda assim, de forma fiável

Mesmo que o valor oscile, as contagens sustentam três afirmações sólidas:

  1. A superfície de ataque é enorme. Mesmo o menor número significa milhões de alvos acessíveis. Os atacantes não precisam de procurar, podem verificar de forma automatizada.
  2. As versões antigas são comuns. Segundo a CybelAngel, 59 por cento dos hosts com versão visível corriam em ramos para os quais o projeto PHP não publica atualização oficial. Para estes sistemas não ajuda um patch rápido, mas apenas um backport, um fornecedor terceiro ou uma migração. Os riscos são descritos no guia PHP End of Life.
  3. O problema vai durar. Uma grande parte dos sistemas acessíveis não será atualizada em dias. É por isso previsível que os varrimentos e as tentativas de ataque continuem durante muito tempo.

Determinar o seu próprio número

O número mundial é uma manchete. O seu é uma tarefa. Assim chega lá:

  1. Reunir domínios e subdomínios: a partir de zonas DNS, certificados, contratos com agências e fornecedores de alojamento.
  2. Atribuir os serviços acessíveis: que servidor está por trás de cada endereço, quem o opera?
  3. Levantar o estado do PHP por sistema: versão, modo de operação, origem dos pacotes, confirmação de backport.
  4. Avaliar o resultado: com patch e comprovado, com patch sem comprovativo, sem patch, desconhecido.
  5. Fechar as lacunas: esclarecer primeiro o desconhecido, agir primeiro sobre o que não tem patch.

No fim fica uma lista curta em vez de um número grande. Como manter o inventário de forma duradoura é descrito no artigo Inventário de todos os sites e servidores.

Como ajuda concretamente a PHP SOS?

  • Vista exterior: Apuramos quais dos seus sistemas são acessíveis a partir da Internet e quais deles usam PHP.
  • Vista interior: Verificamos o nível de patch e o reinício nos servidores, e não apenas a versão apresentada.
  • Avaliação: Recebe uma lista com o estado de cada sistema e uma ordem clara.
  • Reverificação: Se desejar, testamos a partir do exterior, depois do patch, se a situação melhorou como esperado.

Como decorre uma verificação destas é descrito em auditoria de segurança e teste de intrusão.

Conclusão

22,6 milhões, 5,1 milhões, 2,24 milhões: os números parecem contraditórios, mas medem apenas coisas diferentes. Mostram em conjunto que o PHP2Shell afeta uma superfície de ataque muito grande e que há muitas versões antigas na rede. O número que decide o seu risco não o fornece nenhum estudo. Surge apenas olhando para os seus próprios sistemas.

Perguntas frequentes

Quantos servidores estão afetados pelo PHP2Shell?

Ninguém sabe ao certo. A Unit 42, da Palo Alto Networks, contou, segundo a TechTarget, mais de 22,6 milhões de instâncias expostas e potencialmente vulneráveis. A CybelAngel indica cerca de 2,24 milhões de hosts acessíveis a partir da Internet que identificam PHP. Os números medem coisas diferentes e não são diretamente comparáveis.

Porque é que os números divergem tanto?

Porque se contam coisas diferentes: instâncias, hosts, endereços IP ou serviços. Num host de alojamento partilhado podem estar centenas de sites. Além disso, muitos servidores não mostram a sua versão do PHP e outros mostram um número antigo, apesar de ter sido aplicado um backport.

Exposto significa que um servidor foi atacado?

Não. Exposto significa apenas que um serviço PHP é acessível a partir da Internet e, segundo características externas, poderá ser vulnerável. Estas contagens nada dizem sobre ataques efetivos.

Que número é importante para a minha empresa?

O número dos seus próprios sistemas PHP acessíveis ao público e quantos deles têm comprovadamente o patch aplicado. Os números mundiais mostram a dimensão, mas não substituem o seu próprio inventário.

Fontes

Contacto imediato

Cada hora conta. Escreva-nos agora.

Descreva brevemente o sistema, a versão do PHP e o que observou. Entramos em contacto consigo, esclarecemos a situação e trabalhamos remotamente até o incidente estar concluído e documentado.

Ajuda imediata