Migração 100% grátis na contratação semestral · nossa equipe migra tudo de qualquer provedor · novos clientes Migrar agora
Agente de IA no WhatsApp na API Oficial da Meta · somos Tech Provider aprovado · orçamento sob consulta Pedir orçamento
VPS com OpenClaw pré-instalado · a partir de R$ 56,90/mês · gerenciada pela Rollin Quero a VPS
VPS com Hermes Agent pré-instalado · a partir de R$ 56,90/mês · gerenciada pela Rollin Quero a VPS
Hospedagem com 30 dias de garantia · Não gostou? Devolvemos 100%, sem perguntas. Ver hospedagem
#seguranca#php#vps#wordpress#php-fpm

PHP2Shell: como corrigir a falha crítica do PHP no seu VPS ou hospedagem WordPress

por Equipe Rollin Host · · 8 min de leitura

PHP2Shell: como corrigir a falha crítica do PHP no seu VPS ou hospedagem WordPress

A PHP2Shell é o apelido de duas vulnerabilidades críticas no próprio PHP, a CVE-2026-109618 e a CVE-2026-109619. Elas permitem execução remota de código (RCE) sem autenticação e afetam praticamente todas as versões desde o PHP 5.4. Segundo o aviso oficial, a única correção completa é atualizar para o PHP 8.5.12, 8.4.27, 8.3.36 ou 8.2.35.

TL;DR: Rode php -v no seu VPS ou confira a versão no painel DirectAdmin da sua conta. Se estiver abaixo das versões corrigidas, atualize, reinicie o PHP e revise os logs a partir de 21 de outubro de 2026.

Por equipe Rollin Host

O que é a PHP2Shell e por que ela é tão grave?

O anúncio saiu em 21 de outubro de 2026, conforme reportou a CyberSec Brazil. As duas falhas receberam 9,2 no CVSS v4.0.

Três fatores explicam a gravidade:

  • RCE sem login: um atacante pode executar código no servidor sem credencial nenhuma.
  • Leitura de memória: os pesquisadores também demonstraram leitura da memória dos processos PHP. Ali podem estar senhas de banco e chaves de API.
  • Camada de baixo: o defeito está no mecanismo de execução do PHP, e não em um plugin ou framework.

Por isso, manter o WordPress ou o Laravel atualizado não resolve o problema. O código vulnerável roda antes da sua aplicação.

Plugin atualizado não protege de falha no interpretador. A correção da PHP2Shell acontece no binário do PHP.

A PHP2Shell já está sendo explorada?

Já existem tentativas de exploração. A Cloudflare detectou tráfego de tentativas antes mesmo da publicação dos patches, e a watchTowr confirmou ataques ativos.

Até a última atualização da matéria da CyberSec Brazil, não havia confirmação pública de servidor comprometido. As falhas também não constavam no catálogo KEV da CISA.

Resumo: ainda não há invasão confirmada, mas os ataques já estão acontecendo.

Quem está exposto à PHP2Shell?

Está exposto qualquer servidor que execute PHP por um destes componentes citados no aviso:

Componente Situação demonstrada
Apache mod_php Execução de código com uma única requisição não autenticada, antes de a aplicação iniciar
PHP-FPM (Nginx/Apache) Uma falha é potencialmente explorável. A outra teve execução comprovada, dependendo de uma operação feita pela aplicação
php-cgi Afetado
FrankenPHP Afetado

O mod_php é o cenário mais crítico, porque o ataque dispensa qualquer interação da aplicação.

WordPress, Laravel, Magento e qualquer outro app PHP rodam sobre essas camadas e herdam o risco. Se o seu VPS também roda automações, como numa VPS para n8n, revise o PHP que estiver instalado no mesmo sistema.

O próximo passo é descobrir qual versão está rodando.

Como descobrir a versão do PHP no meu servidor?

No VPS (acesso root)

# Versão do PHP de linha de comando
php -v

# Versão do PHP-FPM (o nome do serviço varia por distribuição)
php-fpm -v 2>/dev/null || php-fpm8.3 -v

# Listar os pools FPM ativos
systemctl list-units --type=service | grep -i fpm

Confira o PHP-FPM, e não só o php -v. É comum o CLI estar em uma versão e o FPM que atende o site estar em outra.

Na hospedagem compartilhada ou WordPress

A versão do PHP aparece no painel DirectAdmin da conta. Se não encontrar a opção, o suporte confirma a versão ativa de cada domínio.

Para conferir pelo próprio site, use um phpinfo() temporário e apague o arquivo logo depois. Esse arquivo expõe dados do servidor.

Como corrigir a PHP2Shell?

Versões ainda suportadas (8.2 a 8.5)

Atualize para a versão corrigida do seu branch:

Branch Versão corrigida
PHP 8.5 8.5.12
PHP 8.4 8.4.27
PHP 8.3 8.3.36
PHP 8.2 8.2.35

Exemplo em Debian/Ubuntu com repositório de pacotes PHP:

apt update
apt install --only-upgrade 'php8.3*'
systemctl restart php8.3-fpm
systemctl restart nginx   # ou apache2

Em RHEL, AlmaLinux ou Rocky, o equivalente é dnf upgrade 'php*', seguido do restart dos serviços.

Versões sem suporte (7.4, 8.0 e 8.1)

Para essas versões, o projeto publicou apenas correções de código-fonte nos branches. Isso exige compilar o PHP, manter o build e repetir o processo a cada nova falha.

O caminho prático é migrar para o 8.2 ou superior. Teste antes em staging, porque plugins antigos podem quebrar com a mudança de versão.

Precisa de ajuda com a migração? Fale com a gente no WhatsApp.

Existem mitigações temporárias para a PHP2Shell?

Existem, mas elas só reduzem alguns caminhos de ataque. O aviso oficial é claro: "a atualização é a única medida capaz de corrigir completamente as vulnerabilidades".

; CVE-2026-109619: desativar o progresso de upload de sessão
session.upload_progress.enabled = 0

; CVE-2026-109618
memory_limit = -1
post_max_size = 8M   ; reduza ao mínimo que a aplicação aceita

Depois de alterar, reinicie os processos PHP. Sem o restart, a configuração nova não entra em vigor.

Essas medidas têm custos:

  • memory_limit = -1 remove o teto de memória. Um script com bug pode consumir toda a RAM do VPS.
  • post_max_size baixo pode quebrar uploads de mídia, importações e formulários.
  • Desativar o upload_progress afeta barras de progresso que dependem dele.

Mitigação serve para ganhar algumas horas. A correção de verdade é a atualização.

O que fazer depois de atualizar o PHP?

  1. Reinicie o PHP-FPM e o servidor web. Processos antigos continuam rodando o binário vulnerável até o restart.
  2. Confira a versão de novo com php -v, php-fpm -v e um phpinfo() temporário servido pelo próprio site.
  3. Revise os logs de acesso a partir de 21/10/2026:
    grep "21/Oct/2026" /var/log/nginx/access.log | awk '$9 >= 500' | less
    find /var/www -name "*.php" -newermt "2026-10-21" -ls
    
    Procure requisições estranhas, picos de erro 500 e arquivos PHP criados ou alterados sem deploy seu.
  4. Troque as senhas se houver sinal de acesso indevido: banco de dados, painel, SSH, chaves de API e as constantes do wp-config.php. Como a falha permite leitura de memória, considere expostos os segredos carregados pelo PHP.
  5. Restaure um ponto de backup anterior se houver comprometimento.

Como funciona a restauração na Rollin Host?

Nossa Política de Backup define o processo para cada tipo de serviço.

Hospedagem compartilhada, revenda e WordPress:

  • Backup diário de arquivos, bancos MySQL/MariaDB, e-mail e configurações de domínio, feito entre 00h e 06h (Brasília).
  • 14 pontos diários em rodízio, guardados em infraestrutura externa e criptografados. O RPO é de até 24 h.
  • A restauração é pedida por ticket em painel.rollinhost.com.br.
  • Prazo de referência: até 4 horas úteis para um arquivo ou banco, e até 8 horas úteis para a conta DirectAdmin completa.
  • Cada conta tem 1 restauração assistida gratuita por mês.

VPS, cloud e dedicados:

  • Não têm backup automático, salvo com o add-on "Backup Automático".
  • Os snapshots ficam na mesma infraestrutura do servidor e expiram em 30 dias. Eles não substituem backup.

Restaure um ponto anterior à intrusão e atualize o PHP antes de colocar o site de volta no ar. Se você restaurar sem atualizar, o servidor volta vulnerável.

Quando vale chamar ajuda?

Chame ajuda nos seguintes casos:

  • O servidor roda PHP 7.4, 8.0 ou 8.1 e a aplicação não foi testada no 8.2.
  • Os logs mostram arquivos alterados ou processos desconhecidos.
  • Não há backup recente fora do servidor.

Se a aplicação legada já custa mais para manter do que para reescrever, vale avaliar um site estático. A Agência Rollin, nossa marca irmã, trabalha com desenvolvimento em Astro, que elimina o PHP do front.

Principais aprendizados

  • A PHP2Shell (CVE-2026-109618 e CVE-2026-109619) é um RCE sem autenticação com CVSS 9,2 e afeta o PHP desde a versão 5.4.
  • A correção é atualizar para 8.5.12, 8.4.27, 8.3.36 ou 8.2.35. Para 7.4, 8.0 e 8.1, o caminho prático é migrar de versão.
  • O mod_php é o cenário mais crítico: uma requisição basta para executar código.
  • As mitigações de php.ini só reduzem a superfície de ataque e não substituem a atualização.
  • Depois de atualizar, reinicie os serviços, confira a versão, revise os logs desde 21/10/2026 e troque os segredos se houver sinal de acesso indevido.

Perguntas frequentes

Atualizar o WordPress protege contra a PHP2Shell?

Não. A falha está no interpretador PHP, e não no WordPress. O que corrige é atualizar o PHP do servidor para uma versão corrigida.

Meu site usa PHP-FPM com Nginx. Estou seguro?

Não totalmente. No PHP-FPM, uma das falhas teve execução de código comprovada, dependendo de uma operação feita pela aplicação. Atualize mesmo assim.

Posso continuar no PHP 7.4 aplicando o patch de código-fonte?

Pode, mas isso exige compilar e manter o PHP manualmente. Para a maioria dos sites, migrar para o 8.2 ou superior é mais seguro e mais barato a médio prazo.

Snapshot de VPS serve como backup contra invasão?

Não. Pela política da Rollin Host, o snapshot fica na mesma infraestrutura do servidor e expira em 30 dias. Mantenha backup externo ou contrate o add-on de Backup Automático.

Quanto tempo leva uma restauração na hospedagem Rollin Host?

O prazo de referência é de até 4 horas úteis para um arquivo ou banco específico, e de até 8 horas úteis para a conta DirectAdmin completa. O pedido é feito por ticket no painel.


Precisa de ajuda para atualizar ou conferir o servidor? Nosso suporte atende 24/7 em português. Fale com a gente no WhatsApp.