27 de mayo de 2015

Actualizaciones de Seguridad en Symfony2

Se acaban de publicar las actualizaciones correspondientes para varias de las versiones de Symfony2 que podemos utilizar en nuestros proyectos y que deberíamos utilizar los parches para 2.3.19 a 2.3.28, 2.4.9 y 2.4.10, 2.5.4 a 2.5.11 y 2.6.0 a 2.6.7La versión 2.7 ha sido corregida en su versión de desarrollo porque todavía no se ha lanzado de manera estable.



Las aplicaciones con soporte de ESI o SSI activado, que usan el FragmentListener, son vulnerables a un acceso no autorizado. Un usuario malicioso puede llamar a cualquier controlador de la aplicación mediante la ruta /_fragment pasando un hash inválido en la URL (o incluso eliminándolo). Esto hace que los sistemas de seguridad que validan el hash no se ejecuten y por tanto se permita el acceso no autorizado.


El FragmentListener lanza una excepción de tipo AccessDeniedHttpException cuando la firma incluida en la URL no es válida. El problema es que después, el ExceptionListener hace una subpetición que lanza de nuevo los eventos del kernel. Como el FragmentListener no firma las subpeticiones, el controlador se ejecuta aunque en la petición original no se autorizó su ejecución. El resultado es que el usuario recibe una respuesta con código 403 y con el contenido generado por el controlador.

La solución implementada añade una comprobación en el FragmentListener para que no se ejecute en el caso de que el atributo _controller haya sido definido previamente. Puedes ver el código del patch en el pull request 14759 de Symfony.

Enlace | symfony.es

No hay comentarios.:

Publicar un comentario

Entradas populares