Archive for PHP
Nueva versión de PHP soluciona varios fallos de seguridad
Se ha publicado recientemente una nueva versión de PHP (versión 5.2.13)
que ha solucionado dos fallos de seguridad.
PHP es un lenguaje interpretado de propósito general ampliamente usado,
que está diseñado para desarrollo web y puede ser embebido dentro de
código HTML. PHP está orientado a la creación de páginas web dinámicas,
ejecutándose en un servidor web (server-side scripting), de forma que
primero se toma el código en PHP como entrada y se devuelven las páginas
web como salida.
El primero de los problemas reside en un fallo en el código de
validación de safe_mode en la función tempnam(). Mientras que el segundo
problema podría permir evitar los controles impuestos por open_basedir y
safe_mode en la extensión de sesión.
Además, la nueva versión corrige otra serie de problemas de diversa
índole. La nueva versión se encuentra disponible para descarga desde:
http://www.php.net/downloads.php
PHP 5.2.13 Release Announcement
http://www.php.net/ChangeLog-5.php#5.2.13
Nuevo PHP 5.2.12 soluciona varios fallos de seguridad
El pasado 17 diciembre PHP.net actualizó su versión estable a la 5.2.12. En esta versión ha solucionado varios fallos de seguridad.
PHP es un lenguaje interpretado de propósito general ampliamente usado, que está diseñado para desarrollo web y puede ser embebido dentro de código HTML. PHP está orientado a la creación de páginas web dinámicas, ejecutándose en un servidor web (server-side scripting), de forma que primero se toma el código en PHP como entrada y se devuelven las páginas web como salida.
CVE-2009-3557: Existe un error de validación de permisos en la función “tempnam” cuando está activo “safe_mode”. Esto permitiría a un atacante local saltar las restricciones de “safe_mode” y escribir ficheros arbitrarios en el sistema cuando se tiene permiso de escritura en la carpeta. Esto es debido a que la función sólo comprueba el valor de “open_basedir”.
CVE-2009-3558: Existe un error de validación de permisos en la función “posix_mkfifo”. Esto permitiría a un atacante local saltar las restricciones y escribir ficheros arbitrarios en el sistema cuando se tiene permiso de escritura en la carpeta. Esto es debido a que la función solo comprueba el valor de “safe_mode” y no de “open_basedir”.
CVE-2009-4017: Existe un error de diseño en PHP cuando se suben archivos. Esto permitiría a un atacante remoto causar una denegación de servicio remota por consumo excesivo de memoria mediante la subida de varios archivos simultáneos. Para solucionar este fallo se ha añadido una directiva llamada “max_file_upload” por defecto 20 que limita el número de archivos simultáneos que se permiten subir.
CVE-2009-4142: Existe un error en el filtro de la función “htmlspecialchars”. Esto permitía a un atacante remoto evitar que se codifiquen correctamente ciertos caracteres pudiendo causar errores de codificación o fallos de “cross site scrpting”.
CVE-2009-4143: Existe un error de falta de comprobación en “session.save_path”. Esto podría ser aprovechado por un atacante para causar un impacto no especificado.
Más Información:
PHP release:
http://www.php.net/releases/5_2_12.php
Sobre CVE-2009-3557:
http://svn.php.net/viewvc/php/php-src/branches/PHP_5_2/ext/standard/file.c?r1=288706&r2=288945
Sobre CVE-2009-3558:
http://svn.php.net/viewvc/php/php-src/branches/PHP_5_2/ext/posix/posix.c?r1=286880&r2=288943
Sobre CVE-2009-4017:
http://bugs.php.net/bug.php?id=50528
Sobre CVE-2009-4142:
http://bugs.php.net/bug.php?id=49785
Sobre CVE-2009-4143:
http://svn.php.net/viewvc/php/php-src/branches/PHP_5_2/ext/session/session.c?r1=290190&r2=291681
Ejecución de código a través de la extensión mbstring de PHP 5.x y 4.x
Se ha encontrado una vulnerabilidad en PHP, en la extensión de tratamiento de cadenas con tipografía multibyte, que podría permitir a un atacante ejecutar código arbitrario.
El fallo se debe a un desbordamiento de memoria basado en heap en la extensión mbstring que podría permitir la ejecución de código con los privilegios del servicio objetivo. El problema se da en el código que decodifica cadenas que contienen entidades HTML a cadenas Unicode (mbfilter_htmlent.c).
Las funciones afectadas (entre otras) son:
mb_convert_encoding()
mb_check_encoding()
mb_convert_variables()
mb_parse_str()
Son vulnerables todas las versiones anteriores a la 4.3.0 y 5.2.7. El problema ha sido solucionado en la versión 5.2.8 disponible en www.php.net
Fuente hispasec.com
Más Información:
PHP Buffer Overflow in Multibyte String Extension May Let Users Execute Arbitrary Code
http://securitytracker.com/alerts/2008/Dec/1021482.html
El futuro de PHP
Aunque la gran mayoría de los sitios web desarrollados en PHP siguen usando la versión 4, ya obsoleta, no debemos olvidar que la versión actual es la 5, y que ya se está trabajando en la versión 6
Para no perderle la cara al futuro, es interesante conocer algunas de las mejoras que incorporará dicha versión 6:
Soporte Unicode mejorado
Se está trabajando mucho en dar soporte a cadenas Unicode en las funciones del núcleo de PHP, lo que redunda en una mayor facilidad para la internacionalización de las aplicaciones.
Espacios de nombres (namespaces)
Los espacios de nombres (namespaces) son la solución para evitar las colisiones entre nombres de funciones y clases. De esta forma, se pueden usar funciones y clases importadas sin temor a que se llamen igual que las que se hayan usado previamente.
Esta facilidad ayuda claramente a la modularidad del código, y lleva años siendo usada en otros lenguajes, como Java o C++.
Características Web 2.0
Las extensiones SOAP, ya incluidas en la versión 5, vendrán activadas por defecto en la versión 6. SOAP (Simple Object Access Protocol) es un protocolo que ayuda a la comunicación entre diferentes plataformas web. Lo mismo ocurrirá con las clases de manejo de datos XML (XMLWriter y XMLReader).
Algunas de estas mejoras serán llevadas también a la versión 5, a modo de backport, debido a su especial interés.
Elementos eliminados
También es importante conocer qué características serán eliminadas en la versión 6, ya que pueden afectar a las aplicaciones ya existentes y será necesario reescribirlas (con mayor o menor esfuerzo, dependiendo de cada caso): desaparecen register_globals, magic quotes, el modo seguro, las etiquetas cortas tipo ASP y el soporte a Freetype1 y GD1.
Fuente 20minutos.es IBM
