Ache todo PHP que a empresa roda
Inclusive o sistema que ninguém abre faz anos.
Atualizar o PHP do sistema que o time conhece é a parte fácil. A falha fica aberta no PHP que a equipe esqueceu que existe: a intranet antiga, o portal do fornecedor, o site que o marketing contratou, o painel web de um equipamento. Por isso o inventário começa pelos endereços, e só depois vai pros servidores.
- Endereços
- Peça a lista de domínios e subdomínios pra quem cuida do DNS. Cada nome aponta pra um sistema, e cada sistema precisa de alguém que responda por ele. O cabeçalho
X-Powered-Byàs vezes entrega o PHP e a versão, mas costuma estar escondido: se ele não aparecer, o sistema ainda pode rodar PHP.curl -sI https://intranet.suaempresa.com.br | grep -i x-powered-by
- Servidores Linux
- Liste os pacotes de PHP instalados, os binários de PHP que existem no disco e os processos que rodam PHP. Servidor com painel de hospedagem costuma ter várias versões lado a lado, e cada site pode usar uma: anote todas.
dpkg -l 'php*' | grep ^ii # Debian e Ubuntu rpm -qa 'php*' # Red Hat, Alma, Rocky ls -d /usr/bin/php[0-9]* /opt/plesk/php/*/bin/php /opt/cpanel/ea-php*/root/usr/bin/php /opt/alt/php*/usr/bin/php 2>/dev/null ps -eo pid,user,args | grep -E 'php|httpd|apache2|lsphp' | grep -v grep
- Windows com IIS
- Procure os
php-cgi.exedo servidor e veja qual deles o IIS chama no mapeamento de handler do FastCGI. Cada pasta é uma instalação.where /r C:\ php-cgi.exe "C:\caminho\do\php\php-cgi.exe" -v
- Containers
- Toda imagem que tem PHP dentro conta, mesmo quando o nome dela não diz php. Pergunte a versão pra cada container que está rodando. No Kubernetes, a mesma pergunta vale pra cada imagem que o cluster roda.
docker ps --format '{{.Names}} {{.Image}}' docker exec NOME_DO_CONTAINER php -v || docker exec NOME_DO_CONTAINER php-fpm -v - Equipamentos
- Firewall, storage, central telefônica e outros equipamentos com painel de administração web podem trazer PHP embutido. O pfSense é o caso mais comum, e tem seção própria mais abaixo. Pros outros, quem diz se o seu é afetado é o fabricante: procure o aviso dele pelas duas CVEs. O NCSC da Holanda mantém uma lista pública do status de cada produto. Em 23/10 ela mostrava correção pro pfSense, o OPNsense e os pacotes de PHP do Synology, e o PHP embutido do QNAP QTS ainda como vulnerável.
- Sistemas prontos
- Nextcloud, GLPI, Moodle, Roundcube, phpMyAdmin e WordPress rodam sobre o PHP do servidor, e o que corrige é atualizar esse PHP. Quando o sistema vem em container, quem corrige é a imagem: o Nextcloud AIO trouxe o PHP corrigido na versão 14.4.1, e o GLPI reconstruiu as imagens Docker oficiais.
- PHP de terceiros
- Na hospedagem do site, no portal do fornecedor e no sistema que uma software house mantém pra vocês, o PHP é de outra empresa. Peça por escrito qual versão roda e se a correção das duas CVEs já foi aplicada. Atualizar WordPress, Joomla, Drupal, Moodle, tema ou plugin não corrige a falha, porque ela está no PHP que roda por baixo.
Feche o inventário numa tabela simples: sistema, onde roda, versão do PHP, de onde vem esse PHP, quem responde por ele e se fica exposto pra internet.