Se publican las actualizaciones de seguridad 2.0.20 y 2.1.5

El proyecto Symfony acaba de anunciar la publicación de dos actualizaciones de seguridad extremadamente importantes. Se recomienda la actualización inmediata de todas las aplicaciones creadas con Symfony 2.0 o 2.1.

Las aplicaciones 2.0 son vulnerables al primero de los agujeros de seguridad descubiertos. Este problema hace que cualquiera pueda acceder a las URLs protegidas por un firewall del componente de seguridad de Symfony. Si has protegido una ruta llamada /foo, los usuarios anónimos no pueden entrar a esa ruta y tampoco a esta otra, que codifica la letra f y la sustituye por un código numérico: /%66oo. Sin embargo, si codificas de nuevo la primera parte de la URL (el resultado es /%2566oo) entonces Symfony 2.0.X deja al usuario acceder a esta ruta (que realmente es /foo). Ninguna versión de Symfony 2.1 está afectada por este problema.

El segundo agujero de seguridad afecta a todas las versiones de Symfony 2.0 y 2.1 y permite al atacante ejecutar cualquier controlador de la aplicación, incluso los que están protegidos por el componente de seguridad. Para saber si tu aplicación es vulnerable, ejecuta los dos siguientes comandos:

$ php app/console cache:clear
$ php app/console router:debug _internal

Si el resultado del último comando es un mensaje de error con el texto "The route "_internal" does not exist.", tu aplicación no es vulnerable. En otro caso, debes actualizar tu versión de Symfony 2.0 o 2.1 y debes seguir los pasos que se indican en el post del blog oficial para actualizar algunas partes del código de tu aplicación.

Cómo actualizar a 2.0.20:

1. Actualiza tus archivos deps y deps.lock por lo siguiente (pero no borres las dependencias propias que hayas añadido en tu proyecto):

2. Actualiza los vendors ejecutando el siguiente comando:

$ cd /ruta/del/proyecto
$ php bin/vendors install

3. Si al ejecutar la aplicación se muestra algún error, borra la cache manualmente:

$ php app/console cache:clear

Cómo actualizar a 2.1.5:

1. Actualiza los vendors con el siguiente comando:

$ cd /ruta/del/proyecto
$ php composer.phar update

Si tienes dudas, también puedes consultar la guía de actualización de Symfony 2.0 o la guía de actualización de Symfony 2.1.

Como puedes imaginar, estas dos vulnerabilidades son muy graves y resulta fácil que tu aplicación esté expuesta a ellas. Así que además de actualizar rápidamente tus aplicaciones, no olvides avisar a todos los programadores Symfony que conozcas.

Fuente: Security release: Symfony 2.0.20 and 2.1.5 released

Comentarios

  1. Hola Javier, me he actualizado a la versión 2.1.5 y la 2.1.6 y en estas dos últimas me ha dejado de funcionar correctamente el método 'bind' de los formularios. Si vuelvo a la versión 2.1.4 vuelve a bindear los datos correctamente. ¿Sabes si han hecho algún cambio con respecto a esto?

    David López Rguez el 22 de diciembre de 2012, 20:14:11

Este artículo ya no permite añadir más comentarios.
¿Por qué? Los artículos cierran sus comentarios automáticamente unos meses después de su publicación para asegurar que estos sigan siendo relevantes.

Publicada el

20 de diciembre de 2012

Proyectos Symfony destacados

La forma más sencilla de generar el backend de tus aplicaciones Symfony. Ver más

Síguenos en @symfony_es para acceder a las últimas noticias.