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
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.