Uma análise posterior da PHP Foundation afirma que um pequeno grupo de mantenedores sabia de uma vulnerabilidade grave no PHP dois anos antes de ela se tornar pública. A falha está sendo explorada em ataques conhecidos como PHP2Shell, que podem permitir a execução remota de código quando os invasores sabem qual versão e compilação do PHP estão em execução no servidor-alvo.

A falha decorre da forma como o PHP lida com o esgotamento de memória. Se o mecanismo iniciar seu processo de limpeza durante a construção de uma estrutura de dados, dados incompletos podem permanecer na memória. Uma solicitação web maliciosa pode explorar esse estado inconsistente para executar código com as permissões do processo PHP.

A Foundation afirmou que, inicialmente, os mantenedores não consideraram o problema uma preocupação urgente e debateram como resolvê-lo sem quebrar a compatibilidade com extensões de terceiros. A organização reconheceu erros de gestão. A equipe descrita na análise posterior é pequena: um funcionário em tempo integral e 14 prestadores de serviço em tempo parcial mantêm uma linguagem de programação amplamente usada na web.

O impacto da vulnerabilidade é agravado pelo número de instalações que executam software sem suporte. O relatório diz que 73% das instalações do PHP estavam em versões em fim de vida útil quando o problema foi divulgado. As ramificações do PHP atualmente mantidas vão da 8.1 à 8.5, enquanto muitas instalações antigas dependem de distribuições de sistemas operacionais ou repositórios comunitários para receber atualizações de segurança.

A PHP Foundation publicou correções que abrangem as versões 7.4 a 8.1. Outras organizações também disponibilizaram correções para versões mais antigas, incluindo pacotes do desenvolvedor do Debian Ondřej Surý, da CloudLinux e da AlmaLinux. Os provedores de suporte comercial Ubuntu Pro e Zend lançaram pacotes para versões tão antigas quanto a PHP 5.5. A fonte informa que quase 8% das instalações ainda usavam o PHP 5.x, lançado pela primeira vez em 2005.

Firewalls de aplicações web e outras ferramentas de segurança podem ajudar a bloquear ou detectar atividades maliciosas, mas atualizar para uma versão corrigida continua sendo a solução direta. A Cloudflare e a Fastly adicionaram a detecção de PHP2Shell aos seus conjuntos de regras, enquanto produtos de segurança para servidores podem monitorar atividades suspeitas do binário PHP. Alguns equipamentos de rede e dispositivos NAS também incluem PHP e podem exigir atualizações.

O relatório descreve a exploração em andamento, incluindo uma campanha que combinou a falha do PHP com Fragnesia, também conhecida como Dirty Frag, para obter acesso em nível de kernel a 25 servidores aparentemente ligados ao governo dos EUA. A empresa de segurança BitSight informou numerosas tentativas de invasão PHP2Shell provenientes de diferentes fontes até 29 de outubro. Naquele momento, não havia encontrado um pacote de exploração único e universal, embora o relatório alertasse que isso poderia mudar.

Inicialmente, a Censys estimou que cerca de 45,7 milhões das 119 milhões de instalações do PHP eram vulneráveis. Sua contagem posterior apontou aproximadamente 29 milhões de serviços sem correção. No entanto, 62% dos servidores PHP monitorados pela empresa não informam sua versão, e correções retroportadas podem não alterar os números das versões, o que dificulta determinar o verdadeiro estado das correções.

Fontes: Tom's Hardware.