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 →

Que versões do PHP estão afetadas?

O PHP2Shell está corrigido no PHP 8.5.12, 8.4.27, 8.3.36 e 8.2.35. Para o PHP 8.1 e anteriores já não existem atualizações oficiais. A tabela mostra o estado por ramo.

Atualizado em 5 min de leituraPHP2Shell

Em resumo: da vulnerabilidade de segurança PHP2Shell estão afetados os ramos 8.2 a 8.5 até às versões de 21 de outubro de 2026 e, segundo a imprensa especializada, quase todas as versões até ao PHP 5.4. Está corrigida no PHP 8.5.12, 8.4.27, 8.3.36 e 8.2.35. Para o PHP 8.1 e anteriores já não existem atualizações oficiais, apenas backports mínimos do código-fonte para 7.4, 8.0 e 8.1.

Que versões foram afetadas pela vulnerabilidade do PHP?

O PHP2Shell abrange as duas vulnerabilidades CVE-2026-109618 e CVE-2026-109619, cada uma com CVSS v4.0 de 9,2. Ambas permitem a execução remota de código malicioso, sem autenticação. A 21 de outubro de 2026, às 14:00 UTC (16 horas, hora alemã), o projeto PHP publicou correções para todos os ramos suportados.

Ramo do PHP Último nível antes da correção Corrigido a partir de Suporte
8.5 8.5.11 8.5.12 oficialmente suportado
8.4 8.4.26 8.4.27 oficialmente suportado
8.3 8.3.35 8.3.36 oficialmente suportado
8.2 8.2.34 8.2.35 termina a 31/12/2026
8.1, 8.0, 7.4 todos os níveis sem versão oficial apenas backports mínimos do código-fonte
7.3 a 5.4 segundo a imprensa especializada, quase todos afetados sem atualização sem suporte há anos

As indicações sobre 8.2 a 8.5 provêm dos avisos do php.net. A afirmação sobre as versões até ao PHP 5.4 provém da imprensa especializada; não existe uma lista oficial completa para versões antigas.

Para quem não é técnico, em poucas frases: se no seu servidor está uma versão da coluna “Corrigido a partir de” ou superior e, depois, todos os processos PHP foram reiniciados, o PHP2Shell está fechado. Se aí está um número mais antigo, ou há um backport em jogo, que o seu fornecedor tem de confirmar, ou a vulnerabilidade está aberta. Em caso de dúvida, pergunte à sua equipa de TI ou ao seu fornecedor de alojamento exatamente por estes três pontos: versão, backport, reinício.

Modos de operação afetados

O número de versão é apenas metade da resposta. Estão afetadas todas as formas habituais de operar o PHP num servidor web: PHP-FPM, Apache com mod_php, php-cgi, FrankenPHP e LiteSpeed. A equipa do PHP classifica o risco como o mais elevado no mod_php, porque aí foi demonstrado um exploit antes sequer de o código da aplicação ser executado. Pormenores em Porque é que o mod_php tem o risco mais elevado.

Não resulta qualquer proteção da aplicação: seja WordPress, Shopware, TYPO3, Laravel ou um desenvolvimento próprio, uma atualização da aplicação não corrige a vulnerabilidade no PHP.

Backports: quando o número de versão engana

Muitas distribuições Linux e fornecedores de alojamento fornecem o PHP em pacotes próprios. Em vez de saltarem para uma nova versão upstream, incorporam a correção como backport na sua versão existente. Isto tem uma consequência prática: o número apresentado continua antigo. Um exemplo da situação atual é o Plesk, que pode continuar a mostrar 8.2.34, embora o erro esteja corrigido.

Para si, isto significa: a tabela acima vale para as versões oficiais do php.net. Nos pacotes da sua distribuição ou do fornecedor de alojamento, decidem o estado do pacote e a confirmação do fornecedor. Como verificar ambos, mostra-o Verificar corretamente a versão do PHP e o nível de patch. Para o teste rápido na linha de comandos:

php -v
apt policy php8.3-fpm        # Debian/Ubuntu, o nome do pacote varia conforme a versão e a fonte
dnf info php-fpm             # família RHEL
Importante

Uma versão corrigida no disco não significa ainda que esteja em execução. Só depois do reinício de todos os processos PHP o servidor trabalha com o código corrigido.

O que se aplica ao PHP 8.1 e anteriores?

Para o PHP 8.1, 8.0 e 7.4 existem apenas backports mínimos do código-fonte, ou seja, correções no código-fonte que alguém tem de adotar e compilar por si. Não saem versões oficiais. Algumas distribuições com manutenção de longo prazo incorporam essas correções nos seus pacotes; se isso se aplica ao seu sistema, só se esclarece no changelog do pacote ou junto do fornecedor.

A longo prazo, não há caminho que dispense uma versão suportada. Que versão do PHP o seu CMS ou a sua loja suporta, verifique-o segundo os requisitos de sistema do fabricante, por exemplo em wordpress.org, shopware.com ou typo3.org. Mais informação em PHP 8.1 e anteriores: o que se aplica agora.

E a CVE-2026-115560?

A 23 de outubro, o php.net publicou um aviso sobre uma terceira vulnerabilidade. Só atua numa configuração de sessão invulgar. Uma versão corrigida ainda não existe, segundo o estado de 25 de outubro; até à próxima versão regular de correção de erros, a solução é session.upload_progress.enabled=0. Uma lista de versões só é esperada com o aviso completo (advisory).

Como ajuda concretamente a PHP SOS?

  • Inventário: registamos todas as versões do PHP nos seus servidores, também as instalações secundárias para sites individuais, que facilmente passam despercebidas.
  • Comparação: para cada instalação, esclarecemos se existe uma versão oficial, um backport de distribuição ou nenhuma correção.
  • Atualização com comprovativo: através do serviço de patches PHP, instalamos a correção e reiniciamos todos os processos.
  • Plano de migração: para versões sem atualizações oficiais, planeamos a mudança com a migração do PHP 8.1 e anteriores e protegemos o servidor até lá.

Perguntas frequentes

O PHP 8.3.35 ainda é seguro?

Não, a menos que o seu fornecedor tenha aplicado um backport. O 8.3.35 é o último nível antes da correção; o PHP2Shell está corrigido no ramo 8.3 a partir do 8.3.36. Nos pacotes de distribuições, o número pode manter-se igual, apesar de o erro estar corrigido. Nesse caso, contam o changelog do pacote ou a confirmação do fornecedor.

O PHP 7.4 está afetado pelo PHP2Shell?

Segundo a imprensa especializada, estão afetadas quase todas as versões até ao PHP 5.4. Para 7.4, 8.0 e 8.1 existem apenas backports mínimos do código-fonte e nenhuma versão oficial. Mudar para uma versão suportada é o caminho sólido.

Porque é que o Plesk mostra 8.2.34, apesar de o patch estar aplicado?

As distribuições e os fornecedores de alojamento incorporam por vezes as correções como backport nos seus pacotes existentes. O número de versão mantém-se então igual, mas o erro está corrigido. Verifique o estado do pacote ou peça ao fornecedor que lhe confirme o patch.

Que versão do PHP devo escolher agora?

Uma versão suportada que a sua aplicação homologue segundo os requisitos de sistema do fabricante. O PHP 8.2 atinge o fim do suporte a 31/12/2026; quem muda agora de qualquer modo deve contar com isso.

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