Nesma

Vulnerabilidade PHP2Shell: o que fazer com o seu site

Sergey Nesmachny
Sergey Nesmachny
22.10.2026
7 min de leitura
Vulnerabilidade PHP2Shell: o que fazer com o seu site

PHP2Shell é o nome de duas falhas críticas no próprio interpretador PHP, CVE-2026-109618 e CVE-2026-109619. Em certas condições, permitem a um atacante executar código no seu servidor sem iniciar sessão. As correções saíram a 21 de outubro de 2026: PHP 8.5.12, 8.4.27, 8.3.36 e 8.2.35. Se o seu site corre em PHP, atualize-o hoje. Os sites feitos em EmDash não são afetados, porque não têm PHP.

A seguir: o que aconteceu, o que fazer já com um site em PHP e se isto é motivo para mudar de CMS.

O que aconteceu

Investigadores da Calif e da Wiz encontraram as falhas em agosto e comunicaram-nas à equipa do PHP. A divulgação coordenada estava marcada para 21 de outubro, mas os detalhes foram divulgados um dia antes. Na manhã de 21 de outubro, a Cloudflare registou as primeiras tentativas de ataque. As correções foram publicadas às 14:00 UTC do mesmo dia.

As duas falhas têm a classificação 9,2 em 10 no CVSS v4.0, e a watchTowr atribui-lhes o máximo de 10. Existem desde o PHP 5.4, o que abrange quase todos os servidores PHP da internet. A Wiz estima que cerca de 70% dos recursos web estejam expostos. A agência norte-americana CISA publicou um alerta a pedir a aplicação imediata das correções.

O detalhe importante é onde está a falha. Não está no WordPress, no WooCommerce nem num plugin. Está no interpretador que executa qualquer aplicação PHP. A proteção ao nível da aplicação não ajuda: segundo a Datadog, o PHP processa o pedido malicioso antes de o seu código o ver. Uma das falhas pode ainda expor memória do servidor através do cookie PHPSESSID, mesmo que o site nunca abra uma sessão.

Porque é que os governos desligaram sites

A reação foi invulgarmente forte. A Finlândia, os Países Baixos, a França, a Alemanha e a Bélgica desligaram partes dos sites governamentais por precaução. A Wikimedia Foundation suspendeu alguns dos sistemas da Wikipédia. A primeira-ministra do Japão pediu aos responsáveis pelos sites que atualizassem de imediato ou os desligassem, se não o conseguissem fazer.

A Sansec tem uma visão mais calma. Um ataque em massa parece menos provável do que no primeiro dia: os exploits públicos não funcionam numa instalação PHP por omissão, e a maioria precisa de uma segunda falha no site, como a inclusão de ficheiros locais. Isso não é motivo para esperar. É motivo para não entrar em pânico.

O que fazer hoje com um site em PHP

Se o seu site usa WordPress, WooCommerce, Drupal, Joomla, Magento ou outra plataforma em PHP, a migração pode esperar. Feche primeiro a falha:

  1. Atualize o PHP para 8.5.12, 8.4.27, 8.3.36 ou 8.2.35. É a única correção completa e não se aplica a partir do código do site. Para as versões 7.4, 8.0 e 8.1, a equipa do PHP publicou apenas patches ao código-fonte; os pacotes prontos vêm da sua distribuição Linux ou do painel de alojamento, como o Plesk.
  2. Em alojamento partilhado, pergunte ao suporte se já atualizaram o PHP e qual é a versão exata. Num servidor partilhado, quem instala o interpretador é o fornecedor, não o cliente.
  3. Se não puder atualizar já, desative session.upload_progress.enabled e bloqueie temporariamente os pedidos multipart/form-data no servidor web. O segundo passo impede o envio de ficheiros e alguns formulários, por isso teste o checkout e retire a regra depois de atualizar.
  4. Confirme que a atualização ficou ativa. Execute php -v no servidor ou veja uma página temporária com phpinfo() e apague-a a seguir. Reinicie o PHP-FPM ou o Apache, caso contrário o processo antigo continua a responder.

Porque é que os sites em EmDash não foram afetados

O EmDash é escrito em TypeScript e corre no Cloudflare Workers ou em Node.js. Não tem PHP nenhum, por isso o PHP2Shell não se aplica: não há nada para atualizar nem para desligar. Este site, nesmachny.com, passou de WordPress para EmDash em setembro de 2026. A 21 de outubro não tivemos de fazer nada.

Não digo que o EmDash seja invulnerável. Todas as plataformas têm falhas, incluindo o Node.js. A diferença está na forma como um site típico é construído:

  • Menos para atualizar. No Cloudflare Workers não há servidor próprio; é a Cloudflare que atualiza o ambiente de execução. Num servidor próprio, atualiza um único Node.js, não o PHP com uma dúzia de extensões.
  • Os plugins não têm acesso ao servidor inteiro. Um plugin de WordPress pode ler toda a base de dados e todos os ficheiros. Um plugin de EmDash declara à partida as permissões de que precisa e, na Cloudflare, corre num worker isolado.
  • Não há ficheiros para incluir. Muitos exploits do PHP2Shell precisam de uma segunda falha, como a inclusão de ficheiros locais. Um site em EmDash não executa ficheiros do disco a pedido, como faz o PHP.

Como correu a nossa mudança, com números reais de custo e velocidade, está na história da nossa saída do WordPress para o EmDash.

Vale a pena migrar?

Uma vulnerabilidade, mesmo tão mediática, não é motivo para migrar à pressa. É uma boa altura para contar quantas vezes por ano atualiza o PHP, o núcleo do CMS e os plugins, e quem o faz.

A mudança faz sentido se o seu site é um site institucional, um blogue ou uma landing page e a manutenção do WordPress se tornou um fardo. Se tem uma loja online com muitas integrações, não tenha pressa: alguns plugins de WordPress ainda não têm equivalente no EmDash. Se quer que tratemos da mudança, veja o nosso serviço de migração de WordPress para EmDash. Se o seu site em PHP fica onde está, uma correção técnica de SEO e velocidade é o primeiro passo mais económico.

Perguntas frequentes

O meu site WordPress está vulnerável ao PHP2Shell?

O problema não é o WordPress, é o PHP em que ele corre. Se o servidor usa uma versão do PHP anterior a 8.5.12, 8.4.27, 8.3.36 ou 8.2.35 e a distribuição não aplicou o patch, o site está exposto. Atualizar os plugins do WordPress não resolve. É preciso atualizar o próprio PHP ou pedir ao alojamento que o faça.

Como sei se o meu alojamento já corrigiu o PHP?

Peça ao suporte a versão exata do PHP e confirme se inclui as correções de 21 de outubro. Também pode verificar sozinho: envie um ficheiro temporário com phpinfo(), veja o número da versão e apague o ficheiro logo a seguir. Alguns fornecedores compilam o PHP por conta própria e mostram outra numeração, por isso confirme com eles.

Devo desligar o site até atualizar o PHP?

A Sansec considera que não é necessário desligar o site, porque os exploits públicos não funcionam em instalações por omissão. Se não conseguir atualizar depressa, desative session.upload_progress.enabled e bloqueie os pedidos multipart/form-data como medida provisória. Os governos europeus desligaram sites por precaução, porque para eles o custo de uma intrusão é maior.

O PHP2Shell afeta os sites em EmDash?

Não. O EmDash é escrito em TypeScript, corre no Cloudflare Workers ou em Node.js e não usa PHP. As falhas do PHP2Shell estão no interpretador PHP, por isso não chegam aos sites em EmDash. Isto não torna o EmDash imune a qualquer falha: o Node.js e as suas dependências também precisam de atualizações regulares.

Fontes: CISA, Sansec, Datadog Security Labs, Qualys, watchTowr, Help Net Security.

Sergey Nesmachny

Escrito por

Sergey Nesmachny

Partilhar: