miércoles, 19 de febrero de 2003

Actualización de PHP

Existe una vulnerabilidad en PHP, cuando se ejecuta en modalidad de CGI,
que puede ser utilizada por un atacante para acceder al contenido de
archivos del servidor web o para forzar la ejecución de código PHP
arbitrario.

PHP (PHP: Hypertext Preprocessor) es un popular lenguaje de scripting de
propósito general, idóneo para el desarrollo en web al ser posible su
integración dentro del HTML. Se trata de un desarrollo 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 código PHP, a diferencia de otros lenguajes de scripting, reside dentro
de una página HTML. En una configuración estándar, cuando el servidor
recibe la petición de una página que contiene código PHP, antes de
enviarla, utiliza el intérprete de PHP para realizar las acciones
programadas.

Habitualmente la integración del intérprete PHP con el servidor web se
realiza a través de un modulo o extensión del propio servidor web. No
obstante, cuando no existe este módulo es necesario ejecutar el intérprete
directamente como un CGI.

Para evitar posibles problemas de seguridad, ya que es extremadamente
peligroso dejar un intérprete de un lenguaje accesible en un servidor web,
en la configuración de PHP se puede impedir la utilización directa del
intérprete. Para ello se utiliza la opción cgi.force_redirect=1 en el
archivo php.ini o bien, durante la compilación, la opción --enable-force-
cgi-redirect.

No obstante, como consecuencia de una vulnerabilidad de seguridad en la
versión 4.3.0, un atacante puede ingeniárselas para saltarse esta
protección lo que permitirá la posibilidad de ejecutar código PHP
arbitrario.

Esta vulnerabilidad puede permitir a un atacante con acceso al servidor
web utilizar la vulnerabilidad para acceder a cualquier archivo para el
cual el usuario que ejecuta el servidor web dispone de permiso de lectura.
La vulnerabilidad también puede ser aprovechada por un atacante remoto
para forzar la ejecución de código PHP arbitrario.

El grupo PHP ha publicado la versión 4.3.1 que corrige estos problemas de
seguridad. Esta nueva versión deberá instalarse lo antes posible en todos
aquellos servidores que utilicen el módulo CGI para ejecutar el código
PHP.


Xavier Caballé
xavi@caballe.com