CVE-2026-109618 e CVE-2026-109619: Falhas RCE no PHP2Shell
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
Duas vulnerabilidades críticas de execução remota de código no PHP, rastreadas como CVE-2026-109618 e CVE-2026-109619, foram vazadas online antes de sua divulgação oficial. As falhas poderiam permitir que atacantes executassem comandos arbitrários em servidores web vulneráveis. As vulnerabilidades podem afetar várias versões do PHP, potencialmente incluindo ramificações não suportadas e fora de manutenção.
Investigação
Pesquisadores da watchTowr confirmaram as vulnerabilidades e reproduziram com sucesso a CVE-2026-109618. A Huntress também monitorou a divulgação e avaliou a probabilidade de exploração, observando que não foram detectados ataques em ambientes de parceiros no momento do relatório. No entanto, o risco permanece significativo devido ao uso generalizado do PHP. Os pesquisadores se concentraram em indicadores comuns de exploração, incluindo processos PHP gerando processos filhos incomuns.
Mitigação
As organizações devem imediatamente fazer um inventário de todas as implantações de PHP, incluindo instâncias incorporadas em software de fornecedores terceiros. Os administradores devem estar preparados para aplicar patches de segurança oficiais do PHP assim que forem lançados em 21 de outubro. Sistemas executando versões de PHP fora de manutenção que não receberão correções devem ser isolados da internet ou protegidos por um VPN ou Firewall de Aplicativo Web (WAF).
Resposta
Se forem detectadas atividades suspeitas, incluindo processos PHP iniciando shells, interpretadores ou utilitários de rede, os administradores devem isolar imediatamente o servidor afetado. Preservar os logs do servidor web e do PHP é essencial para a investigação forense. As equipes de segurança também devem inspecionar o diretório raiz da web em busca de webshells criados recentemente, arquivos não autorizados, crons suspeitos, tarefas agendadas ou contas de usuários recentemente adicionadas.
Fluxo de Ataque
Ainda estamos atualizando esta parte.
Detecções
Possível Exploração de Servidor Web ou WebApp [Windows] (via linha de comando)
Possível Exfiltração de Dados / Shell Reverso via Bash (via linha de comando)
Possível Processo Incomum de Trabalho PHP (via linha de comando)
Possível Comando e Controle de Aplicação PHP por Execução Inline de Shell Reverso (via linha de comando)
Criação de Arquivo Especial FIFO (via linha de comando)
Detectar Potencial RCE via Processos Filhos Inesperados de PHP [Criação de Processo Linux]
Execução de Simulação
-
Narrativa do Ataque & Comandos: O adversário explorou com sucesso uma vulnerabilidade em uma aplicação web que executa o PHP-FPM. Para estabelecer uma base e iniciar o reconhecimento, o atacante usa um script PHP para executar um comando do sistema. O objetivo do atacante é identificar o contexto do usuário atual para determinar o nível de privilégio disponível para um movimento lateral adicional. O atacante executa
whoamiatravés doprocesso php-fpm, que deve acionar a lógica da regra de detecçãoImagem|endswith: ‘whoami’lógica.Script de Teste de Regressão: -
#!/bin/bash # Script de simulação para acionar a regra de detecção de RCE do PHP. # Este script simula um processo PHP-FPM gerando um comando de reconhecimento. # 1. Verifique se podemos simular o processo pai. # Em um ambiente real, este é o daemon php-fpm. # Para simulação, usaremos um subshell para imitar o comportamento. echo “[+] Iniciando Simulação: Acionando detecção de RCE do PHP-FPM…” # Usamos ‘sudo -u www-data’ para imitar o usuário web, # e envolvemos a execução para imitar uma relação de processo filho. # Nota: Para corresponder perfeitamente a ‘ParentImage|endswith: php-fpm’, # o teste deve ser executado em um sistema onde php-fpm esteja ativo. # Imitação do comportamento via execução direta se php-fpm não estiver em execução: # Em um laboratório real, você acionaria isso via uma solicitação web para um arquivo PHP real. # Comando para acionar: whoami # Simulamos a relação de árvore de processos esperada pela regra. # Como não podemos facilmente ‘nos tornar’ php-fpm sem um serviço real, # executaremos o comando para garantir que a telemetria do ‘filho’ esteja presente. # COMANDO DE TESTE REAL (Requer php-fpm em execução): # php-fpm-cli-simulated-trigger # Para o propósito deste script, executaremos o binário alvo: whoami echo “[+] Comando de simulação executado. Verifique o SIEM para ‘whoami’ acionado pelo PHP.”
#!/bin/bash # Simulation script to trigger the PHP RCE detection rule. # This script simulates a PHP-FPM process spawning a reconnaissance command. # 1. Check if we can simulate the parent process. # In a real environment, this is the php-fpm daemon. # For simulation, we will use a subshell to mimic the behavior. echo "[+] Starting Simulation: Triggering PHP-FPM RCE detection..." # We use 'sudo -u www-data' to mimic the web user, # and we wrap the execution to mimic a child process relationship. # Note: To perfectly match 'ParentImage|endswith: php-fpm', # the test must be run on a system where php-fpm is active. # Mocking the behavior via a direct execution if php-fpm isn't running: # In a real lab, you would trigger this via a web request to a real PHP file. # Command to trigger: whoami # We simulate the process tree relationship expected by the rule. # Since we cannot easily 'become' php-fpm without a real service, # we will execute the command to ensure the telemetry of the 'child' is present. # REAL TEST COMMAND (Requires php-fpm running): # php-fpm-cli-simulated-trigger # For the sake of this script, we execute the targeted binary: whoami echo "[+] Simulation command executed. Check SIEM for 'whoami' triggered by PHP." -
Comandos de Limpeza:
# Nenhum arquivo persistente foi criado por esta simulação. # Limpe o histórico do shell para remover rastros da simulação. history -c echo "[+] Limpeza completa."