Diversas vulnerabilidades en PHP
Se ha anunciado la existencia de diversas vulnerabilidades en funciones PHP en versiones anteriores a 4.4.2 y 5.1.2. Los problemas de diversa índole pueden permitir realizar ataques de denegación de servicio, cross-site scripting o evitar restricciones de seguridad.
PHP (PHP: Hypertext Preprocessor) es un popular lenguaje de scripting de propósito general, idóneo para el desarrollo web al ser posible su integración dentro del HTML. Se trata de un proyecto de código abierto muy utilizado para la confección de páginas web dinámicas (gracias a la capacidad de lanzar consultas a bases de datos).
El primero de los problemas, reside en que código PHP que contenga funciones auto-referenciadas puede provocar que el servicio deje de funcionar. Un usuario local podría cargar este código PHP y al ser interpretado por Apache a través de la petición de un usuario remoto, causaría que el proceso hijo del servidor dejase de funcionar. Si es llamado localmente, el proceso PHP dejaría de funcionar.
Un usuario con privilegios para cargar código PHP podría crear uno con la función copy y un argumento especialmente manipulado para la ruta fuente. Cuando la función es ejecutada, no se comprobarán las restricciones de seguridad. Un usuario local puede aprovechar esto para tener acceso no autorizado a ficheros en el sistema.
Un usuario con privilegios para cargar código PHP puede crear uno con la función tempname y un argumento especialmente manipulado. Esto permitiría que cuando la función es ejecutada, el sistema crease un archivo temporal en un directorio arbitrario fuera de la especificación base, pero todavía sujeto a los permisos de sistema. Esto puede ser aprovechado para crear numerosos ficheros en el sistema y potencialmente, provocar una denegación de servicio.
Por último, la función phpinfo() no filtra adecuadamente código HTML desde la entrada proporcionada por el usuario cuando se le introduce un array de más de 4096 caracteres. Un usuario remoto puede crear una URL especialmente formada que, cuando sea cargada por la víctima causaría que código script arbitrario fuese ejecutado en el contexto del navegador del usuario. Esto permitiría, por ejemplo, el robo de credenciales a través de scripts.
Se recomienda restringir el acceso a usuarios locales o actualizar a la versión 5.1.3RC3 disponible desde www.php.net