Grave vulnerabilidad en PHP-CGI

Grave vulnerabilidad en PHP-CGI

Importancia:
5 – Crítica

Fecha de publicación:
03/05/2012

Recursos afectados
Servidores web con PHP ejecutándose como CGI.

Descripción
Posibilita el paso de parámetros al intérprete, lo que permite la ejecución de código arbitrario y la revelación de información confidencial.

Solución
Ya existen módulos de la herramienta de pentesting y hacking metasploit que permiten explotar esta vulnerabilidad por lo que se recomienda actualizar cuanto antes. Se puede hacer a través del código fuente, aunque se recomienda instalarlo a través de los mecanismos de actualización de paquetes de Linux. Para sistemas Windows, se puede descargar de la web http://windows.php.net/download/.
Como alternativa, si no se puede actualizar, el fabricante propone las siguientes reglas del módulo mod_rewrite de Apache para bloquear las URLs maliciosas:

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

Detalle
Eindbazen, un equipo de competiciones CTF, ha descubierto una vulnerabilidad en PHP-CGI que permite pasar parámetros al intérprete de PHP, como -s o -r, a través de la URL. Por ejemplo añadiendo la cadena ‘?-s’.
Como resultado de la inyección de estos parámetros en la URL, se puede mostrar el contenido de archivos de código fuente (que puede incluir información confidencial como, por ejemplo, contraseñas de BBDD) o ejecutar código PHP arbitrario.
Aunque el parámetro ‘-r’, para ejecutar código PHP, es filtrado en php5-cgi, dependiendo de las variables de entorno, esta medida de seguridad puede evitarse.
PHP eliminó por error el código que protegía ante este problema en 2004.
FastCGI no es vulnerable.

Impacto:
Ejecución de código malicioso.
Revelación de información confidencial.

Exploit en .rb (Módulo para Metasploit):
https://github.com/rapid7/metasploit-framework/blob/2d1f4d4f3eb68ee599ac03be4d71e3c0c3443420/modules/exploits/unix/webapp/php_cgi_arg_injection.rb

Ejemplo:
http://www.facebook.com/?-s

 

Fuente
http://eindbazen.net/2012/05/php-cgi-advisory-cve-2012-1823/