PHP2Shell: como saber se o seu servidor já recebeu a correção
A correção do PHP2Shell saiu nas versões 8.2.35, 8.3.36, 8.4.27 e 8.5.12. Só que muitos servidores não usam o PHP "de fábrica": usam o pacote da distribuição ou do painel de controle, e em vários deles a versão continua com o número antigo mesmo depois de corrigida. Olhar o php -v pode enganar nos dois sentidos.
Debian e Ubuntu
- Debian 13 (trixie): php8.4 8.4.27-1~deb13u1 (DSA-6574-1).
- Debian 12 (bookworm): php8.2 8.2.35-1~deb12u1 (DLA-4848-1).
- Ubuntu 24.04 LTS: php8.3 8.3.6-0ubuntu0.24.04.13, mesmo número da versão, revisão nova (USN-8948-1).
- Ubuntu 22.04 LTS: php8.1 8.1.2-1ubuntu2.28, também com o número antigo (USN-8948-1).
- Ubuntu 20.04, 18.04 e anteriores: só com Ubuntu Pro (USN-8948-2).
- Repositórios Sury (Debian e Ubuntu) trazem 8.5.12, 8.4.27, 8.3.36 e 8.2.35, e também backports para as séries antigas.
Red Hat, AlmaLinux, Rocky e Oracle Linux
- RHEL 10: php 8.3.36 (RHSA-2026:87070) e php8.4 8.4.27 (RHSA-2026:87071).
- RHEL 9: módulos php:8.2 (8.2.35) e php:8.3 (8.3.36) corrigidos; o php padrão 8.0 saiu como 8.0.30-8.el9_8.1, com o número antigo.
- RHEL 8: o módulo php:7.4 saiu como 7.4.33-8.module+el8.10.0, também com número antigo.
- Rocky e Oracle Linux já reconstruíram a maior parte; o AlmaLinux publicou o php 8.0 a 8.3 e 8.4 com pacotes próprios. Quando esse levantamento foi feito (22/10), o php:8.4 do RHEL 9 ainda aparecia como afetado.
Painéis de controle
- cPanel (EasyApache 4, versão 25.91): ea-php85 8.5.12, ea-php84 8.4.27, ea-php83 8.3.36 e ea-php82 8.2.35; ea-php74, 80 e 81 recebem backports.
- Plesk: PHP 8.2 a 8.5 nas versões corrigidas; o 7.4, 8.0 e 8.1 mantêm o número e são identificados pela data da compilação, 21 de outubro de 2026.
- DirectAdmin (CustomBuild): PHP 8.2 a 8.5 atualizados; 7.4, 8.0 e 8.1 corrigidos sem mudar a versão.
- CloudLinux: alt-php 5.2 a 8.5 chegaram ao repositório estável em 22 de outubro. Os metadados de segurança ainda não estavam publicados, então um
yum --securitypode não listar esses pacotes: use a atualização comum.
Docker
As imagens oficiais php têm as tags 8.5.12, 8.4.27, 8.3.36 e 8.2.35 (por exemplo php:8.4.27-fpm). Atenção: a tag genérica (php:8.4-fpm) leva algumas horas a mais para ser atualizada, então fixe a versão completa no FROM e reconstrua com docker compose build --pull. Imagens da Chainguard/Wolfi também mantêm o número e mudam só a revisão. Para o PHP 8.1 e anteriores não há imagem oficial mantida.
Como conferir
# Debian / Ubuntu
dpkg -l 'php*' | awk '/^ii/ {print $2, $3}'
apt-cache policy php8.4-fpm
# RHEL / Alma / Rocky / Amazon Linux
rpm -q php php-cli php-fpm
rpm -q --changelog php | grep -E 'CVE-2026-10961[89]'
# Alpine
apk info -v | grep '^php8'
# Dentro de um container
docker exec NOME_DO_CONTAINER php -v
Compare a string completa do pacote com as listas acima, e não só o número da versão do PHP.
Três cuidados
- O
php -vmostra o PHP de linha de comando, que pode não ser o que atende o site (PHP-FPM, mod_php, LiteSpeed). Vários PHP podem coexistir. - Reinicie o PHP-FPM, o Apache e os workers de fila: eles mantêm o código antigo na memória até reiniciar.
- Hospedagem compartilhada: você depende do provedor. Pergunte se o patch já foi aplicado e peça aviso quando a versão corrigida aparecer no painel.
Levantamento de um site de acompanhamento, com o estado de 22/10 (05h50 UTC): ainda estavam abertos, por exemplo, o RHEL 9 php:8.4, o Debian forky, partes do SUSE, o Alpine 3.21 a 3.23 e o Amazon Linux 2. Confira sempre o comunicado oficial da sua distribuição.
Sua semana em números 📬
Selic, CDI, inflação e as novidades das ferramentas — um e-mail por semana, sem spam.
Sem custo, descadastro em 1 clique em qualquer e-mail.