Falha crítica no PHP expõe scripts

[ad#texto]

Uma falha crítica do PHP foi liberada para o público por engano, onde normalmente primeiro os desenvolvedores do PHP resolvem a falha de segurança para depois publicá-la, desta vez a publicação veio antes do que a correção.

O caso atinge servidores que executam o PHP como CGI (como fastCGI a falha de segurança não ocorre), também não compreendo porque um servidor executando o PHP ainda o faz via CGI, já que é fortemente recomendado que tal prática não mais seja executada dando preferência por utilizá-lo como módulo do servidor, executar o PHP como CGI já é por si só uma falha de segurança.

Para quem utiliza o PHP como CGI a falha pode executar código malicioso, isso porque o PHP pode interpretar parâmetros enviados via URL, algo como http://www.seuservidor.com/arq.php?-s irá exibir o código-fonte do seu script ao invés do retorno de HTML processado, isso já é preocupante pois vários desenvolvedores desatentos gravam senhas dentro de seus scripts.

Utilizando a mesma lógica além de exibir o código-fonte do script é possível executar código malicioso.

A correção liberada pelo time de desenvolvimento do PHP é mais um tapa buraco que não funciona muito bem e o ideal é que até a falha ser completamente resolvida o Apache seja configurado para não executar URL´s com o sinal -, para fazer isso basta configurar o arquivo .htacess da seguinte forma:

RewriteCond %{QUERY_STRING} ^(%2d|-)[^=]+$ [NC]
RewriteRule ^(.*) $1? [L]

Petter Rafael

Desenvolvedor Web atua com as tecnologias Java e PHP apoiadas pelos bancos de dados Oracle e MySQL. Além dos ambientes de desenvolvimento acima possuiu amplo conhecimento em servidores Apache/Tomcat, Photoshop, Arte & Foto, Flash e mais uma dezena de ferramentas e tecnologias emergentes. Atualmente colabora com o Viablog escrevendo sobre programação e tecnologia.