El mes de los fallos en PHP ha desvelado ya 18 vulnerabilidades sin parche

El mes de los fallos en PHP ha publicado ya 35 vulnerabilidades en 28 días. 30 de ellos han sido encontrados en PHP, tres en la plataforma Zend y una en el módulo mod_security de Apache (los que el propio autor llama “bonus”).

Afortunadamente, la mayoría son problemas que no pueden ser aprovechados de forma remota.

Stefan Esser es el creador de este proyecto, fundador de Hardened-PHP e impulsor del PHP Security Response Team. Durante años ha contribuido al desarrollo de PHP y considera que el núcleo de programadores de este lenguaje no está concienciado con respecto a la seguridad. Por ello decidió crear el mes de los fallos en PHP y ubicarlo en marzo de este año.

Con 35 vulnerabilidades publicadas, se pueden extraer las primeras conclusiones. El hecho de que la mayoría de los fallos no puedan ser aprovechados de forma remota puede aliviar en gran media a los usuarios que ofrezcan páginas basadas en PHP al exterior, pero supone un gran problema para los proveedores de hosting. Muchos de los fallos descritos requieren que un hipotético atacante tenga acceso al servidor web, y pueda ejecutar ahí código PHP. Por tanto, las compañías que ofrecen espacio web compartido y permitan la ejecución de PHP arbitrario se llevan la peor parte. Sus usuarios podrían de forma sencilla acceder a una shell en el sistema (a través de programas PHP prefabricados) si son capaces de aprovechar las funciones inseguras descubiertas o aplican las pruebas de concepto publicadas.

También durante el mes se han publicado problemas aprovechables de forma remota, al menos dos de ellos pueden servir para modificar las variables de sesión. Además se ha identificado un fallo que permite habilitar la funcionalidad register_globals, considerada muy insegura.

Al menos la publicación de estos problemas no ha causado hasta ahora una epidemia entre las millones de páginas PHP expuestas al exterior en el mundo. La revelación de un grave fallo aprovechable de forma remota y que tuvieran en común las centenas de plataformas creadas en PHP, hubiese supuesto un fuerte impacto en todo Internet.

En cualquier caso, el problema real es que para 18 agujeros encontrados no existe parche aún, y algunos, según sus propios descubridores, serán realmente complicados de solucionar.