Se publican las actualizaciones de seguridad 2.3.29, 2.5.12 y 2.6.8

Se acaban de publicar varias versiones de Symfony para corregir el error de seguridad CVE-2015-4050: ESI unauthorized access.

Versiones afectadas

El componente HttpKernel incluído en las versiones 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.7.

Las versiones publicadas corrigen el error para Symfony 2.3, 2.5 y 2.6. La rama 2.4 se queda sin corregir porque su desarrollo finalizó hace varios meses. La versión 2.7 ha sido corregida en su versión de desarrollo porque todavía no se ha lanzado de manera estable.

Descripción del problema

Las aplicaciones con soporte de ESI o SSI activado, que usan el FragmentListener, son vulnerables a un accesso 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.

Solución

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.

Autor de la solución

Jakub Zalas ha sido el responsable de descubrir este error y también ha proporcionado su solución.

Fuente: CVE-2015-4050: ESI unauthorized access

Comentarios

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

27 de mayo de 2015

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.