CRÍTICO CVSS 9.2 Patches oficiais lançados em 21 out 2026 Exploração ativa relatada

Seu site PHP está exposto ao php2shell? (CVE-2026-109618 & 109619)

Verificador de vulnerabilidade online gratuito, matriz de versões seguras mínimas do PHP (8.5.12, 8.4.27, 8.3.36, 8.2.35) e guias de correção.

Verificação passiva: envia uma única requisição GET não destrutiva para inspecionar cabeçalhos HTTP. Sem exploit ou corpo POST.

Versões do PHP Oficialmente Afetadas e Corrigidas

Fonte: Lançamentos de segurança do php.net e avisos do GitHub (publicados em 21 de outubro de 2026).

Ramo PHP Escopo Vulnerável Primeira Versão Corrigida Status Oficial e Ação Necessária
PHP 8.5 < 8.5.12 8.5.12 Suporte Ativo — Atualizar para 8.5.12+
PHP 8.4 < 8.4.27 8.4.27 Suporte Ativo — Atualizar para 8.4.27+
PHP 8.3 < 8.3.36 8.3.36 Suporte Ativo — Atualizar para 8.3.36+
PHP 8.2 < 8.2.35 8.2.35 Apenas Segurança (Fim dez 2026) — Atualizar para 8.2.35+
PHP 8.6 < 8.6.0RC4 8.6.0RC4 RC de Desenvolvimento — Apenas testes, não usar em produção
PHP 8.1, 8.0, 7.4 Todas as versões Sem lançamento oficial Fim de Vida (EOL) — Vulnerável a menos que haja backport da distribuição
PHP 5.4 – 7.3 Todas as versões Sem correção disponível Legado Vulnerável — Sem correção oficial — desativar session.upload_progress
Nota importante sobre pacotes de distribuições Linux:

Ubuntu, Debian e RHEL realizam backport de patches de segurança sem alterar a versão principal (ex: Ubuntu 22.04 inclui 8.1.2-1ubuntu2.28). Verifique o changelog do pacote antes de se alarmar.

Aja Agora: Protocolo de Correção em 4 Etapas

Siga estas etapas em ordem rigorosa. Nada mais fornece proteção completa contra o PHP2Shell.

01

Localizar cada ambiente PHP

Audite servidores web, contêineres Docker, imagens base e ambientes de homologação. Observe que a versão CLI (php -v) pode ser diferente daquela executada pelo PHP-FPM ou Apache.

Ver comandos de inventário →
02

Instalar uma versão corrigida

Atualize para as versões oficiais: 8.5.12, 8.4.27, 8.3.36 ou 8.2.35. A atualização de plugins de CMS (WordPress, Drupal, Laravel) NÃO corrige vulnerabilidades no núcleo do PHP.

Selecionar guia da plataforma →
03

Reiniciar todos os daemons PHP

ETAPA CRÍTICA: Os binários atualizados só entram em vigor quando os pools de workers são reiniciados. Reinicie imediatamente o PHP-FPM, Apache, FrankenPHP e workers de fila.

sudo systemctl restart php*-fpm apache2
04

Verificar e auditar logs

Confirme se o servidor web ativo reporta a versão corrigida. Audite os logs de acesso desde o início de outubro de 2026 para falhas anormais em uploads multipart e rotacione credenciais críticas.

Executar diagnóstico novamente →

Comandos de Terminal para Auto-Verificação

Execute estes comandos via SSH em seus servidores para determinar a versão real do pacote PHP em execução:

Ubuntu / Debian: Verificar pacotes instalados e changelog de CVE
dpkg -l 'php*' 'libapache2-mod-php*' | grep ^ii
zgrep -E "CVE-2026-10961[89]" /usr/share/doc/php*-common/changelog*
RHEL / AlmaLinux / Rocky Linux: Inspecionar changelog RPM
rpm -qa | grep -Ei "^(php|ea-php|alt-php)" | sort
rpm -q --changelog php-common | grep -E "CVE-2026-10961[89]"
Docker: Verificar versão do PHP dentro do contêiner em execução
docker exec -it <container_name> php -v
docker exec -it <container_name> php -m | grep session

Perguntas Frequentes (FAQ)

O verificador diz que a versão está oculta. Estou seguro? ▼

Não necessariamente. Ocultar o cabeçalho X-Powered-By apenas esconde a versão; isso não corrige a falha de segurança subjacente. Execute os comandos CLI diretamente no servidor.

Este verificador ataca ou faz varredura no meu site? ▼

Não. Ele envia apenas uma requisição GET convencional e não destrutiva para inspecionar cabeçalhos de resposta HTTP. Não transmite payloads, corpos POST nem realiza varreduras de caminhos.

Existe uma solução temporária se eu não puder atualizar hoje? ▼

Sim. Desativar session.upload_progress.enabled = Off no seu php.ini global e recarregar o PHP-FPM neutraliza a rota primária de ataque UAF. No entanto, atualizar o PHP é a única solução definitiva.

Por que devo reiniciar o PHP-FPM ou Apache após a atualização? ▼

Atualizações de pacotes apenas substituem arquivos em disco. Os processos workers em execução retêm o código vulnerável na memória RAM até que os serviços sejam reiniciados.

Um Web Application Firewall (WAF) bloqueia totalmente o PHP2Shell? ▼

Não. Embora regras de WAF possam bloquear assinaturas conhecidas, invasores podem alterar delimitadores multipart ou fragmentar requisições para contornar os limites de inspeção do WAF.

Sites em versões antigas como PHP 7.4 ou 8.0 estão vulneráveis? ▼

Sim. Todas as versões do PHP de 5.4 a 8.5 são estruturalmente vulneráveis à falha de UAF no RFC1867. Por estarem em fim de suporte (EOL), você deve aplicar backports ou desativar o upload_progress.

Esta vulnerabilidade afeta scripts CLI executados na linha de comando? ▼

Execuções puras em CLI sem processamento de uploads multipart POST geralmente não estão expostas. Porém, interfaces SAPI expostas na web (PHP-FPM, Apache mod_php, FrankenPHP, Swoole) são totalmente vulneráveis.

Plugins de segurança do WordPress podem resolver este problema? ▼

Não. Plugins de segurança operam no espaço de usuário do PHP DEPOIS que o motor interpreta as requisições multipart. A falha ocorre no código nativo em C antes de qualquer plugin ser executado.

Pesquisa Técnica: 20 avisos revisados, análises de código C e playbooks de defesa.