Falha no PHP para Windows
10 de Junho de 2024

Uma nova vulnerabilidade de execução remota de código (RCE) do PHP para Windows foi divulgada, afetando todas as versões desde a 5.x, o que pode impactar um número massivo de servidores mundialmente.

PHP é uma linguagem de script open-source amplamente utilizada para desenvolvimento web e comumente empregada tanto em servidores Windows quanto Linux.

A nova falha RCE, rastreada como CVE-2024-4577, foi descoberta por Orange Tsai, Principal Pesquisador de Segurança da Devcore, em 7 de maio de 2024, que a reportou aos desenvolvedores do PHP.

Os mantenedores do projeto PHP lançaram um patch ontem, endereçando a vulnerabilidade.

No entanto, a aplicação de atualizações de segurança em um projeto com uma implantação em larga escala é complicada e pode potencialmente deixar um número significativo de sistemas vulneráveis a ataques por períodos prolongados.

Infelizmente, quando uma vulnerabilidade crítica que impacta muitos dispositivos é divulgada, atores de ameaças e pesquisadores imediatamente começam a tentar encontrar sistemas vulneráveis.

Este é o caso com o CVE-2024-4577, já que a Fundação Shadowserver já detectou múltiplos endereços IP escaneando por servidores vulneráveis.

A falha CVE-2024-4577 é causada por uma supervisão no manejo das conversões de codificação de caracteres, especificamente a funcionalidade "Best-Fit" no Windows, quando o PHP é usado em modo CGI.

"Ao implementar o PHP, a equipe não percebeu a funcionalidade Best-Fit de conversão de codificação dentro do sistema operacional Windows", explica um comunicado da DevCore.

Essa supervisão permite que atacantes não autenticados contornem a proteção anterior do CVE-2012-1823 por meio de sequências específicas de caracteres.

Código arbitrário pode ser executado em servidores PHP remotos através do ataque de injeção de argumentos.

Essa falha contorna as proteções que a equipe do PHP havia implementado no passado para a CVE-2012-1823 , que foi explorada em ataques de malware vários anos após sua remediação.

Os analistas explicam que, mesmo que o PHP não esteja configurado em modo CGI, o CVE-2024-4577 ainda pode ser explorável, desde que os executáveis PHP (por exemplo, php.exe ou php-cgi.exe) estejam em diretórios acessíveis pelo servidor web.

Devido a essa ser a configuração padrão no XAMPP para Windows, a DEVCORE alerta que todas as instalações do XAMPP no Windows provavelmente estão vulneráveis.

O problema é pior quando certas localidades que são mais suscetíveis a essa falha de conversão de codificação são usadas, incluindo chinês tradicional, chinês simplificado e japonês.

Como a DevCore diz que a vulnerabilidade CVE-2024-4577 impacta todas as versões do PHP para Windows, se você está usando PHP 8.0 (End of Life, EoL), PHP 7.x (EoL), ou PHP 5.x (EoL), você precisa atualizar para uma versão mais recente ou usar as mitigações descritas abaixo.

Aqueles que usam versões suportadas do PHP devem atualizar para as versões que incorporam os patches: PHP 8.3.8, PHP 8.2.20 e PHP 8.1.29.

Para sistemas que não podem ser imediatamente atualizados e usuários de versões EoL, recomenda-se aplicar uma regra de mod_rewrite para bloquear ataques, como a seguinte:

Se você usa XAMPP e não precisa do recurso PHP CGI, encontre a diretiva 'ScriptAlias' no arquivo de configuração do Apache (tipicamente em 'C:/xampp/apache/conf/extra/httpd-xampp.conf') e comente-a.

Admins podem determinar se usam PHP-CGI usando a função phpinfo() e checando o valor 'Server API' na saída.

A DEVCORE também sugere que os administradores de sistema considerem migrar de CGI para alternativas mais seguras, como FastCGI, PHP-FPM e Mod-PHP.

Publicidade

Cuidado com o deauth, a tropa do SYWP vai te pegar

A primeira certificação prática brasileira de wireless hacking veio para mudar o ensino na técnica no país, apresentando labs práticos e uma certificação hands-on.
Todas as técnicas de pentest wi-fi reunidos em um curso didático e definitivo. Saiba mais...