Uma vulnerabilidade foi descoberta no PHP (CVE-2024-4577) que permite a execução de código no servidor ou a visualização do código-fonte do script PHP quando o PHP é usado em modo CGI na plataforma Windows (configurações com mod_php, php-fpm e FastCGI não são afetadas). O problema foi corrigido nas versões PHP 8.3.8, 8.2.20 e 8.1.29.
A vulnerabilidade é um caso específico do problema corrigido em 2012, CVE-2012-1823, para o qual a proteção adicionada não foi suficiente para bloquear o ataque na plataforma Windows. O método de ataque consiste na possibilidade de substituir o argumento de linha de comando ao iniciar o interpretador PHP através de manipulação dos parâmetros da solicitação do script PHP.
Na antiga vulnerabilidade CVE-2012-1823, era suficiente fornecer opções de linha de comando em vez de parâmetros de consulta, como "http://localhost/index.php?-s" para exibir o código fonte do script. A nova vulnerabilidade baseia-se no fato de que a plataforma Windows realiza a conversão automática de caracteres, permitindo que sejam usados caracteres presentes em algumas codificações que são substituídos pelo símbolo "-" (por exemplo, http://localhost/index.php?s).
A vulnerabilidade foi confirmada em configurações com locales para chinês tradicional (cp950), chinês simplificado (cp936) e japonês (cp932), mas sua manifestação também não está excluída para outros locales. O problema se manifesta na configuração padrão do pacote XAMPP (Apache + MariaDB + PHP + Perl), bem como em quaisquer configurações do Apache onde o php-cgi é definido como o manipulador de scripts CGI através da configuração
‘Action cgi-script ‘/cgi-bin/php-cgi.exe’ ou ‘Action application/x-httpd-php-cgi ‘/php-cgi/php-cgi.exe’, ou na hospedagem direta do interpretador php em ‘/cgi-bin’ e em quaisquer outros diretórios onde a execução de scripts CGI é permitida pela diretiva ScriptAlias.
Além disso, nas atualizações PHP 8.3.8, 8.2.20 e 8.1.29, três outras vulnerabilidades foram corrigidas:
- CVE-2024-5458 — possibilidade de contornar o filtro
FILTER_VALIDATE_URL, utilizado na chamada da função filter_var. - CVE-2024-5585 — vetor alternativo de ataque para a vulnerabilidade CVE-2024-1874, permitindo contornar a proteção anteriormente adicionada e realizar a injeção de comandos ao chamar arquivos bat e cmd através da função proc_open na plataforma Windows (vulnerabilidade BatBadBut).
- A suscetibilidade da função openssl_private_decrypt ao ataque de Marvin.
Fonte: opennet.ru
