PHP2Shell desligou 32 serviços do Governo britânico. O seu servidor PHP está seguro?

PHP2Shell desligou 32 serviços do Governo britânico. O seu servidor PHP está seguro?

O Governo do Reino Unido retirou do ar dezenas de serviços públicos por precaução. A causa é o PHP2Shell, um par de vulnerabilidades críticas no próprio motor do PHP, a linguagem que serve a maioria dos sites da Internet. Os números foram revelados na Câmara dos Lordes na quinta-feira, 22 de outubro, pela ministra britânica da tecnologia, Baroness Lloyd of Effra: 32 serviços governamentais indisponíveis e quatro parcialmente indisponíveis. Segundo a ministra, não há confirmação de qualquer comprometimento. O episódio mostra a dimensão de um problema que obrigou governos e empresas de vários países a corrigir os seus sistemas de urgência.

Resposta rápida: O PHP2Shell (CVE-2026-109618 e CVE-2026-109619, CVSS v4.0 de 9.2) permite executar código remotamente em servidores PHP sem autenticação. O Reino Unido desligou 32 serviços públicos por precaução e já há tentativas de exploração registadas. Quem gere sites ou aplicações em PHP deve atualizar de imediato para as versões 8.5.12, 8.4.27, 8.3.36 ou 8.2.35 e reiniciar os processos PHP. Quem não puder atualizar já deve aplicar as mitigações temporárias ou retirar os sistemas expostos da Internet.

O que aconteceu no Reino Unido

De acordo com a ministra, a indisponibilidade resulta sobretudo de medidas de precaução tomadas para proteger os sistemas enquanto se aplicam atualizações de segurança e mitigações. O executivo não divulgou a lista completa dos serviços afetados. Sabe-se que o Office for Budget Responsibility (OBR) desligou os seus sites, e os membros da câmara alta referiram perturbações na DVLA e em serviços policiais. Também ficaram inacessíveis os sites das câmaras de Edimburgo e Oxford e da Polícia Metropolitana, e surgiram mensagens de erro nos portais de Bristol, Lambeth e Barnet.

Downing Street tentou desdramatizar a situação. Uma porta-voz afirmou que nenhum grande serviço crítico de acesso público foi afetado e que estar offline não significa ter sido atacado. Baroness Lloyd disse ainda que a OpenAI informou o National Cyber Security Centre (NCSC) sobre a vulnerabilidade na semana anterior e que o Governo agiu antes da divulgação pública.

O Reino Unido não foi caso único. Alemanha, França, Bélgica, Finlândia e Países Baixos também desligaram sites governamentais por precaução, tal como fez a agência de cibersegurança australiana. Nos EUA, a NSA pediu às organizações que corrijam ou desliguem os sistemas vulneráveis.

O que é o PHP2Shell

O PHP2Shell junta duas falhas de segurança de memória no núcleo do PHP. Por isso, o risco não depende de um plugin ou de uma aplicação mal escrita. O projeto PHP descreve a CVE-2026-109618 como execução remota de código através de corrupção por falta de memória durante a limpeza do pedido. A CVE-2026-109619 resulta de estado global de um pedido que fica para trás e é reutilizado por um pedido seguinte no mesmo processo. Segundo a Imperva, até um endpoint que apenas responde OK pode ser afetado, porque o processamento vulnerável acontece antes de correr qualquer linha de código da aplicação.

As falhas foram divulgadas em conjunto por investigadores da Wiz, da OpenAI e da Calif. Segundo os investigadores da Wiz, os defeitos existiam há décadas, mas provar que eram exploráveis exigia uma cadeia de passos muito complexa, e os modelos de IA de fronteira baixaram muito essa barreira.

Ambas as falhas têm uma pontuação de 9.2 na escala CVSS v4.0. O PHP indica que estão em risco todas as instalações que servem pedidos web, incluindo PHP-FPM, Apache com mod_php, php-cgi, FrankenPHP e LiteSpeed. O risco é mais alto no mod_php, onde um pedido sem autenticação pode desencadear a exploração. O NCSC neerlandês lembra que o PHP também está embutido em equipamentos, dispositivos de rede e interfaces de gestão onde os administradores podem não conseguir atualizá-lo diretamente.

Versões afetadas e corrigidas

Ramo PHPVersões afetadasVersão corrigida
8.58.5.0 a 8.5.118.5.12
8.48.4.0 a 8.4.268.4.27
8.3anteriores a 8.3.368.3.36
8.2anteriores a 8.2.358.2.35
8.1 e anteriores (fim de vida)afetadassem versão oficial; apenas backports mínimos de código-fonte para 7.4, 8.0 e 8.1

Os ramos antigos são um ponto de atenção. A AWS recomenda que quem usa runtimes em fim de vida (5.4 a 8.1) aplique os controlos de configuração provisórios para a CVE-2026-109619 e comece já a migração, porque não existe correção para a CVE-2026-109618 nesses ramos. A exposição é grande: a Unit 42, da Palo Alto Networks, diz ter identificado mais de 22,6 milhões de instâncias expostas e potencialmente vulneráveis.

Cronologia: de uma fuga de informação a ataques reais

Data (2026)Acontecimento
17 de outubroA Amazon Threat Intelligence deteta uma tentativa de exploração na rede de iscos MadPot, quatro dias antes da divulgação pública
20 de outubroDetalhes das falhas surgem online antes da divulgação coordenada; o PHP anuncia uma release de emergência
21 de outubro, 03h02 UTCA Cloudflare ativa regras WAF por defeito para os seus clientes
21 de outubro, cerca das 13h35 UTCO PHP publica as versões 8.5.12, 8.4.27, 8.3.36 e 8.2.35; o NCSC britânico emite um alerta
22 de outubroO Governo britânico confirma 32 serviços indisponíveis e quatro parcialmente indisponíveis

A watchTowr resume o que correu mal: a 20 de outubro, os detalhes das duas falhas apareceram online antes da divulgação coordenada e antes de haver correções. A Cloudflare diz ter observado tráfego de ataque contra os seus clientes e que os atacantes alteravam o payload para tentar contornar as proteções. A watchTowr também relata tentativas ativas de exploração das duas CVE na sua rede de honeypots. Ainda assim, a Recorded Future nota que a informação disponível não permite saber quantos ataques tiveram sucesso nem quantos sistemas foram comprometidos. A 22 de outubro, a CISA ainda não tinha incluído nenhuma das CVE no catálogo de vulnerabilidades exploradas.

Indicadores e deteção

As fontes primárias consultadas não publicaram listas de IOCs (endereços IP, domínios ou hashes) associadas a campanhas concretas. Os sinais a vigiar dizem respeito ao tipo de tráfego usado nos ataques. Entre eles estão pedidos multipart invulgarmente grandes, que levam o PHP a esgotar a memória, e o abuso da funcionalidade de progresso de upload das sessões. Para a CVE-2026-109618, a AWS sugere bloquear no WAF corpos de pedido acima de 8 KB (8192 bytes). O NCSC dos Países Baixos mantém um repositório com informação operacional e uma lista de produtos com dependência de PHP potencialmente afetados.

Como mitigar

O NCSC britânico definiu uma ordem clara: atualizar de imediato; se não for possível, aplicar as medidas temporárias publicadas pelo PHP; se nem essas puderem ser aplicadas depressa, ponderar desligar os sistemas afetados. Na prática:

  • Inventariar: identificar todos os sistemas com PHP, a começar pelos expostos à Internet, sem esquecer equipamentos e software de terceiros.
  • Atualizar e reiniciar: instalar 8.5.12, 8.4.27, 8.3.36 ou 8.2.35 (ou os pacotes da sua distribuição), reiniciar os processos PHP e reconstruir as imagens de contentores.
  • Medidas provisórias: segundo análises técnicas publicadas, desativar session.upload_progress.enabled, usar pm.max_requests = 1 no PHP-FPM, desligar fatal_error_backtraces no PHP 8.5 e reduzir post_max_size. O próprio PHP avisa que nenhuma destas medidas é completa.
  • Fornecedores: perguntar ao alojamento ou ao prestador de serviços se o PHP já foi atualizado.
  • Vigiar: rever registos à procura de pedidos anómalos e sinais de execução de comandos desde 17 de outubro.

Porque é que isto importa em Portugal

Muitos sites de câmaras, institutos públicos, lojas online e PME portuguesas funcionam com WordPress, Joomla, Drupal ou Magento, todos assentes em PHP. O Centro Nacional de Cibersegurança (CNCS) publicou um alerta sobre a release de emergência. O CNCS explica que as falhas resultam de corrupção de memória no núcleo do PHP e permitem execução remota de código sem autenticação nem interação do utilizador.

As entidades essenciais e importantes abrangidas pelo Regime Jurídico da Cibersegurança (Decreto-Lei n.º 125/2025, que transpõe a NIS2) têm de gerir vulnerabilidades e notificar incidentes significativos ao CNCS/CERT.PT. Convém documentar a correção, as mitigações aplicadas e a decisão de desligar ou manter serviços. Se uma exploração bem-sucedida expuser dados pessoais, entram também em jogo as obrigações do RGPD, incluindo a notificação à CNPD no prazo de 72 horas. Para os cidadãos, o risco está nos servidores e não nos seus dispositivos. Ainda assim, convém ficar atento a eventuais avisos de violação de dados enviados pelos serviços que usam.

Perguntas frequentes

O que é o PHP2Shell?

É o nome dado a duas vulnerabilidades críticas no motor do PHP, CVE-2026-109618 e CVE-2026-109619, com CVSS v4.0 de 9.2. Permitem executar código remotamente num servidor sem autenticação.

Que versões do PHP corrigem as falhas?

As versões 8.5.12, 8.4.27, 8.3.36 e 8.2.35, publicadas a 21 de outubro de 2026. Os ramos 8.1 e anteriores estão em fim de vida e não recebem versão oficial, pelo que devem ser migrados.

Os serviços britânicos desligados foram atacados?

Segundo o Governo britânico, não. Os 32 serviços indisponíveis e os quatro parcialmente indisponíveis foram desligados sobretudo por precaução, e não há confirmação de comprometimento de sistemas do Estado.

Tenho um site WordPress. O que devo fazer?

Confirme a versão de PHP do seu alojamento e pergunte ao fornecedor se já instalou a correção. Se gere o servidor, atualize o PHP, reinicie os processos e reveja os registos à procura de pedidos anómalos.

Esta informação tem caráter noticioso e baseia-se em dados divulgados publicamente por NCSC (Reino Unido), NCSC-NL, CNCS, AWS, watchTowr, Cloudflare e The Register.