PHP 5.4.3 y PHP 5.3.13 liberados!

El equipo de desarrollo de PHP desea anunciar la disponibilidad inmediata de PHP 5.4.3 y PHP 5.3.13. Se recomienda a todos los usuarios a actualizar a PHP 5.4.3 y PHP 5.3.13.

Estas versiones complementan las correcciones para la vulnerabilidad de instalaciones basadas en CGI (CVE-2012-2311). Nota: mod_php y php-fpm no son vulnerables a este ataque.

PHP 5.4.3 soluciona una vulnerabilidad de desborde de buffer en apache_request_headers() (CVE-2012-2329). La serie PHP 5.3 no es vulnerable a este problema.

Para descargar el código fuente de 5.4.3 y PHP 5.3.13 ingrese a la sección de descargas, Binarios para Windows pueden encontrarse en windows.php.net/download/. Una lista de completa de cambios puede encontrarse en ChangeLog.


PHP 5.3.12, 5.4.2 y el fallo en CGI (CVE-2012-1823)

PHP 5.3.12/5.4.2 no soluciona todas las variaciones de los problemas de CGI descritos en CVE-2012-1823. Adicionalmente nos llama la atención que algunos sitios están usando un script CGI inseguro para correr PHP. Estos scripts usan $* en vez de "$@" para pasarle parámetros a php-cgi causando un variado número de fallos. Repetimos, la gente usando mod_php or php-fpm no están afectados.

Una forma de tratar estos problemas de CGI es rechazar la petición si el query string contiene un '-' y no un '='. Esto se puede hacer usando mod_rewrite de Apache de esta forma:

RewriteCond %{QUERY_STRING} ^[^=]*$
RewriteCond %{QUERY_STRING} %2d|\- [NC]
RewriteRule .? - [F,L]

Tengase en cuenta que esto bloqueará de igual forma peticiones seguras como ?top-40 so así que si tienes peticiones como esa, se debe ajustar las expresiones regulares de acuerdo a ello.

Otro gurpo de versiones está planeado para el 8 de Mayo. Estas solucionan un problema del CGI y otro relacionado con apache_request_header (solo 5.4).

Pedimos discuplas por el inconveniente creado con estos lanzamientos y la falta de comunicación sobre ello.


PHP 5.3.12 y PHP 5.4.2 liberados!

Existe una vulnerabilidad en ciertas instalaciones badadas en CGI (Apache+mod_php y nginx+php-fpm no están afectadas) que no habia sido identificada en los últimos 8 años. Sección 7 de la especificación CGI afirma:

Algunos sistemas soportan un método para suplir un array de cadenas de carácteres a el script CGI. Esto solo es usado en caso de una búsqueda 'indexada', Esto se indentica con una petición HTTP "GET" ó "HEAD" con una URL de búsqueda que no tenga carácteres "=" codificados.

Asi que, las peticiones que no tengan un "=" en la cadena de consulta son tratados de manera diferente para esas implementaciones de CGI. Para PHP esto significa que una petición que contenga ?-s podría volcar el código de PHP de la pagina, aunque una petición con ?-s&=1 estaría bien.

Un gran número de sitios con PHP corren tanto con el modulo de Apache con mod_php como con php-fpm bajo nginx. Ninguno de esas instalaciones son vulnerables a esto. A large number of sites run PHP as either an Apache module through mod_php or using php-fpm under nginx. Neither of these setups are vulnerable to this.

Si estás usando Apache con mod_cgi para PHP podrías ser vulnerable. Para saber si lo es, solamente agrega un ?-s al final de cualquiera de sus URLs. Si ve un código fuente, entonces es vulnerable. Si su sitio se visualiza normalmente entonces no.

Para solucionar esto actualiza a PHP 5.3.12 o PHP 5.4.2.

Reconocemos que CGI es un metodo desactualizado para correr PHP y que podría no ser posible actualizar a una versión más reciente de PHP. Una alternativa es configurar su servidor web para no permitir este tipo de peticiones con empezando con un "-" y además sin un "=". Agregar una regla como esta no debería romper ningún sitio. Usando mod_rewrite de Apache sería algo así:

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

Si tiene sus propias reglas asegurese de codificar ?%2ds.

Para terminar una mala semana, tenemos un bug en nuestro sistema de errores haciendo que la bandera de privacidad no funcionara haciendo público este inconveniente sin que tuveriamos tiempo de probar una solución al nivel que queriamos. Por favor reporta cualquier problema en bugs.php.net.

Binarios para Windows pueden encontrarse en windows.php.net/download/. Una lista de completa de cambios puede encontrarse en ChangeLog.


¿Qué es PHP?

PHP es un conocido lenguaje de programación de próposito general especialmente diseñado para el desarrollo web y que puede ser embebido en HTML. Si eres nuevo en PHP y quieres tener una idea de como trabaja, echale un vistazo al tutorial de introducción. Luego de eso, consulta el manual en línea, los archivos de ejemplo y otros recursos disponibles en la sección de enlaces.

Te has preguntado alguna vez que tan popular es PHP? Consulta la encuesta de Netcraft

Versiones Candidatas

Agradecimientos

Sitios de Interés

Comunidad


Cache file /data/nikos/phalconphp.com/php-site/public/../app/cache/phpesindex could not be written