Programa de Parceiros NEConheça
    Voltar ao Blog
    Segurança21 de outubro de 20266 min de leitura

    PHP2Shell: o que fazer agora com as falhas críticas do PHP

    PHP2Shell: o que fazer agora com as falhas críticas do PHP

    Em 21 de outubro de 2026, o PHP lançou uma atualização de segurança crítica para duas falhas que receberam o apelido de PHP2Shell: a CVE-2026-109618 e a CVE-2026-109619. As duas têm nota 9.2 (CVSS v4.0) e permitem que um atacante execute código no servidor sem precisar de login. Os detalhes vazaram um dia antes da correção, e já há relatos de ataques.


    Se a sua empresa tem site, loja, painel ou API em PHP, este é o tipo de atualização que não pode esperar a próxima janela de manutenção. Abaixo explicamos o que é a falha, quem está afetado e o que fazer agora.


    Quer saber em segundos se o seu site aparenta estar vulnerável? Use a verificação gratuita da NE.


    O que é a PHP2Shell


    São duas falhas no núcleo do PHP, segundo o alerta oficial do projeto:


  1. CVE-2026-109618, corrupção na falta de memória: quando o tratamento de falta de memória é interrompido, dados da requisição podem ficar parcialmente inicializados, e a limpeza da requisição passa a tratar esses dados inválidos como válidos. O risco é maior em servidores com mod_php.
  2. CVE-2026-109619, estado global antigo: um estado que pertence a uma requisição pode sobreviver à memória já liberada e ser usado por uma requisição seguinte no mesmo processo.

  3. Nos dois casos, o resultado pode ser a execução remota de código. Na prática, isso significa que quem explorar a falha pode rodar comandos no seu servidor, roubar dados, instalar malware ou usar a máquina para atacar outras.


    Quem está afetado


    Os quatro ramos com suporte do PHP foram afetados: 8.2, 8.3, 8.4 e 8.5. O PHP 8.1 e as versões anteriores não recebem mais atualizações do projeto, então não vai existir correção para elas.


    Isso vale para qualquer aplicação em PHP: WordPress, WooCommerce, Magento, Laravel, Drupal, Joomla, sistemas próprios e painéis administrativos.


    Versões corrigidas


    Atualize para estas versões ou mais novas:


  4. PHP 8.5: 8.5.12
  5. PHP 8.4: 8.4.27
  6. PHP 8.3: 8.3.36
  7. PHP 8.2: 8.2.35 (o ramo 8.2 chega ao fim do suporte em 31/12/2026)
  8. PHP 8.6: 8.6.0 RC4, ainda em pré-lançamento e não indicado para produção
  9. PHP 8.1 ou anterior: sem correção. É preciso migrar para um ramo suportado.

  10. Debian, Ubuntu, Red Hat e outras distribuições receberam as correções antes do anúncio e costumam aplicá-las sem mudar o número principal da versão. Se o seu PHP vem do pacote da distribuição, confira no changelog do pacote se ele cita a CVE-2026-109618.


    A falha já está sendo explorada?


    Os detalhes técnicos vazaram em 20 de outubro, antes da correção sair. Desde então, a Cloudflare informou que está vendo os primeiros ataques, e a watchTowr relatou exploração observada na sua rede de monitoramento. O PHP tem histórico de falhas exploradas em massa, inclusive em campanhas de ransomware. Por isso, o mais seguro é tratar a PHP2Shell como ativa.


    Como descobrir se o seu site está vulnerável


    O primeiro passo é a verificação gratuita da NE. Você digita o endereço do site, e a ferramenta faz uma única visita à página, igual à de um navegador, para procurar sinais de PHP e a versão informada pelo servidor. Nada é explorado nem testado no seu ambiente.


    Um ponto importante: servidores bem configurados escondem a versão do PHP. Nesse caso, a ferramenta avisa que o site usa PHP, mas não consegue ver a versão. A confirmação definitiva é sempre no servidor:


  11. Veja a versão com php -v e também a do PHP-FPM (por exemplo, php-fpm8.2 -v), porque as duas podem ser diferentes.
  12. Em Debian e Ubuntu, procure a CVE no changelog do pacote, em /usr/share/doc/php8.2-common/changelog.Debian.gz (troque 8.2 pela sua versão).
  13. Em Red Hat, Alma e Rocky, use rpm -q --changelog php-common e procure a CVE.

  14. O que fazer agora


  15. Faça o inventário: liste todos os servidores com PHP, não só o do site principal. Painéis, APIs, lojas e ambientes de homologação também são porta de entrada.
  16. Atualize o PHP para a versão corrigida do seu ramo, ou para o pacote corrigido da sua distribuição.
  17. Reinicie o PHP-FPM e o Apache: os processos antigos continuam rodando o código vulnerável até serem reiniciados.
  18. Migre quem está no PHP 8.1 ou anterior: esses ramos não terão correção.
  19. Use o WAF como paliativo, não como solução: a Cloudflare publicou regras para os ataques conhecidos, inclusive no plano gratuito, mas elas só cobrem o tráfego que passa por ela.

  20. Se não der para atualizar hoje


    O alerta do PHP diz que não existe mitigação completa. Ele lista medidas parciais, que reduzem o risco mas não fecham a falha. Elas devem ser aplicadas antes do processamento da requisição (por exemplo, com php_admin_value no pool do PHP-FPM) e exigem reiniciar todos os processos depois:


  21. memory_limit = -1
  22. post_max_size = 8M (ou 32M se a aplicação precisar de upload de arquivos)
  23. session.upload_progress.enabled = 0
  24. fatal_error_backtraces = 0 (só no PHP 8.5)

  25. O alerta também recomenda não usar limites de memória do sistema (RLIMIT_AS e RLIMIT_DATA), porque eles podem disparar justamente a falha. E vale repetir: essas medidas compram tempo, mas a correção de verdade é atualizar.


    Como a NE ajuda


    A NE ajuda a sua equipe a sair do alerta para a correção aplicada:


  26. Levantamento de todos os servidores e sites com PHP, inclusive os esquecidos.
  27. Atualização com janela combinada e plano de volta testado.
  28. Migração de quem está no PHP 8.1 ou anterior, que não terá correção.
  29. Monitoramento contínuo com o SOC 24/7 da NE depois da correção.

  30. Comece pela verificação gratuita e, se precisar de ajuda, fale com a nossa equipe na mesma página.


    Fontes


  31. Alerta de segurança do PHP (GHSA-w8hw-w9fx-j79w)
  32. Alerta de segurança do PHP (GHSA-6wmf-4rv5-p3rp)
  33. Perguntas frequentes da Tenable sobre a PHP2Shell
  34. Perguntas frequentes da watchTowr sobre a CVE-2026-109618

  35. Compartilhe este artigo