Viernes, 2 de Julio de 2010
Un problema de seguridad descubierto en las ramas 1.3 y 1.4 de Symfony ha obligado a adelantar la publicación de sus versiones de mantenimiento. Se recomienda actualizar inmediatamente todas las aplicaciones que utilicen symfony 1.3 y 1.4.
La vulnerabilidad descubierta está relacionada con la forma en la que se guardan las plantillas en la cache. Los parámetros GET de la URL de la plantilla se utilizan para determinar el directorio en el que se guarda la plantilla.
El problema es que estos parámetros GET de la plantilla no se limpiaban antes de generar la ruta donde se guardará la plantilla. La consecuencia es que un atacante podría utilizar parámetros GET especialmente preparados para almacenar las plantillas en algún directorio por encima del directorio de la cache de la aplicación.
Como siempre, para actualizar tu versión de Symfony:
- Si usas el sandbox, te lo tienes que bajar otra vez.
- Si lo has instalado mediante el archivo comprimido de Symfony, te lo tienes que bajar otra vez desde www.symfony-project.org/installation/1_3 o www.symfony-project.org/installation/1_4 y debes descomprimirlo en el mismo directorio dentro de tu proyecto.
- Si lo has instalado mediante PEAR, ejecuta el comando
pear upgrade symfony/symfony-1.3.6 o pear upgrade symfony/symfony-1.4.6
- Si lo instalas mediante Subversion, ejecuta el comando
svn checkout http://svn.symfony-project.com/tags/RELEASE_1_3_6/ o svn checkout http://svn.symfony-project.com/tags/RELEASE_1_4_6/
Independientemente de cómo lo actualices, no olvides borrar la caché de cada proyecto después de la actualización mediante los siguientes comandos:
Si utilizas Doctrine:
$ php symfony doctrine:build --all-classes
$ php symfony cache:clear
Si utilizas Propel:
$ php symfony propel:build --all-classes
$ php symfony cache:clear
Fuente: Security Release: symfony 1.3.6 and 1.4.6
Guardado en seguridad, symfony
Comenta este artículo »
Miércoles, 2 de Junio de 2010
Los responsables de Symfony acaban de publicar las nuevas versiones de mantenimiento 1.3.5 y 1.4.5. Además de las habituales correcciones de errores, estos son los cambios más importantes:
- Los formularios basados en Doctrine y Propel contenían un fallo de seguridad que permitía a un usuario actualizar el valor de un registro de la base de datos diferente al que muestra el formulario. El fallo se encontraba en los validadores generados por Symfony para las claves primarias.
- Se ha actualizado Propel a su versión 1.4.2 y la librería de pruebas lime a su versión 1.0.9.
- Ahora se puede utilizar la tarea
doctrine:clean para borrar los formularios generados para los modelos en los que se ha deshabilitado la generación de formularios.
- La clases de los widgets de fecha y hora utilizan correctamente la opción
id_format.
Como siempre, para actualizar tu versión de Symfony:
- Si usas el sandbox, te lo tienes que bajar otra vez.
- Si lo has instalado mediante el archivo comprimido de Symfony, te lo tienes que bajar otra vez desde www.symfony-project.org/installation/1_3 o www.symfony-project.org/installation/1_4 y debes descomprimirlo en el mismo directorio dentro de tu proyecto.
- Si lo has instalado mediante PEAR, ejecuta el comando
pear upgrade symfony/symfony-1.3.5 opear upgrade symfony/symfony-1.4.5
- Si lo instalas mediante Subversion, ejecuta el comando
svn checkout http://svn.symfony-project.com/tags/RELEASE_1_3_5/ o svn checkout http://svn.symfony-project.com/tags/RELEASE_1_4_5/
Independientemente de cómo lo actualices, no olvides borrar la caché de cada proyecto después de la actualización mediante los siguientes comandos:
Si utilizas Doctrine:
$ php symfony doctrine:build --all-classes
$ php symfony cache:clear
Si utilizas Propel:
$ php symfony propel:build --all-classes
$ php symfony cache:clear
Fuente: symfony 1.3.5 and 1.4.5
Guardado en seguridad, symfony
4 comentarios »
Jueves, 25 de Febrero de 2010
El equipo de desarrollo de Symfony acaba de publicar tres nuevas versiones de la rama 1.X para solucionar una vulnerabilidad de tipo SQL injection. El problema sólo afecta a la versión de Doctrine del generador de la parte de administración, por lo que el generador de Propel no está afectado por este problema.
Se recomienda la actualización inmediata de todas las versiones de Symfony ya que un atacante podría inyectar código SQL arbitrario en la consulta aprovechando un error en el filtrado del parámetro de ordenación de registros enviado como parámetro de tipo GET.
Como siempre, para actualizar tu versión de Symfony:
- Si usas el sandbox, te lo tienes que bajar otra vez.
- Si lo has instalado mediante el archivo comprimido de Symfony, te lo tienes que bajar otra vez desde www.symfony-project.org/installation/1_2, www.symfony-project.org/installation/1_3 o www.symfony-project.org/installation/1_4 y debes descomprimirlo en el mismo directorio dentro de tu proyecto.
- Si lo has instalado mediante PEAR, ejecuta el comando
pear upgrade symfony/symfony-1.2.12, pear upgrade symfony/symfony-1.3.3 o pear upgrade symfony/symfony-1.4.3
- Si lo instalas mediante Subversion, ejecuta el comando
svn checkout http://svn.symfony-project.com/tags/RELEASE_1_2_12/, svn checkout http://svn.symfony-project.com/tags/RELEASE_1_3_3/ o svn checkout http://svn.symfony-project.com/tags/RELEASE_1_4_3/
Independientemente de cómo lo actualices, no olvides borrar la caché de cada proyecto después de la actualización mediante los siguientes comandos:
$ php symfony doctrine:build --all-classes
$ php symfony cache:clear
Fuente: Security Release: 1.2.12, 1.3.3 and 1.4.3
Guardado en doctrine, seguridad, symfony
2 comentarios »
Lunes, 27 de Abril de 2009
Se acaba de publicar Symfony 1.2.6 para corregir un problema de seguridad detectado en todas las versiones de Symfony 1.2.X y 1.3.X tanto con Propel como con Doctrine. Por este motivo, se recomienda la actualización de todas las versiones afectadas.
Tus aplicaciones están afectadas si utilizas el generador de la parte de administración de Symfony 1.2 y eliminas campos de los formularios mediante la opción display del archivo de configuración generator.yml y no los quitas del formulario asociado mediante el método unset().
La nueva versión 1.2.6 elimina automáticamente todos los campos del formulario que se ocultan mediante la opción display del archivo generator.yml. No se eliminan los campos ocultos de tipo hidden. El blog oficial explica con más detalle el problema y la solución empleada.
Como siempre, para actualizar tu versión de Symfony:
- Si usas el sandbox, te lo tienes que bajar otra vez.
- Si lo has instalado mediante el archivo comprimido de Symfony, te lo tienes que bajar otra vez desde www.symfony-project.org/installation/1_2 y debes descomprimirlo en el mismo directorio dentro de tu proyecto.
- Si lo has instalado mediante PEAR, ejecuta el comando
pear upgrade symfony/symfony-1.2.6
- Si lo instalas mediante Subversion, ejecuta el comando
svn checkout http://svn.symfony-project.com/tags/RELEASE_1_2_6/ .
- También puedes aplicar al código de Symfony el siguiente parche para actualizar desde la versión 1.2.5
Independientemente de cómo lo actualices, no olvides borrar la caché de cada proyecto después de la actualización mediante el comando ./symfony cc
Fuente: symfony 1.2.6: Security fix
Guardado en seguridad, symfony
1 comentario »
Lunes, 6 de Octubre de 2008
La seguridad es uno de los pilares de Symfony desde que en mayo de 2008 se modificó su política de seguridad tras un grave agujero de seguridad que tardó demasiado tiempo en corregirse. Hoy en día Symfony incluye numerosas estrategias y utilidades para hacer frente a los ataques XSS y CSRF.
La semana pasada, Fabien Potencier, creador de Symfony, publicó un artículo en el blog oficial comentando una grave vulnerabilidad descubierta en RubyOnRails. Aunque la intención de Fabien no es iniciar una guerra con RubyOnRails sobre cuál de los dos frameworks es mejor, Symfony presenta una gran ventaja en este aspecto.
Los formularios de Symfony, desde su versión 1.1, son objetos de primer nivel, por lo que no tienen efecto los ataques que intentan inyectar campos que no pertenecen al formulario original. Tal y como se explica en el capítulo 2 del libro de formularios de Symfony, las opciones allow_extra_fields y filter_extra_fields permiten controlar si todos los campos del formulario deben tener asignado un validador y si se deben filtrar todos los campos adicionales.
En los comentarios del artículo de Fabien, un usuario llamado Toc alertaba sobre una posible vulnerabilidad de tipo XSS en el mecanismo de formularios. En menos de 7 horas el error había sido investigado, confirmado y solucionado. El resultado es la versión 1.1.4 de Symfony que incluye la corrección r11932.
En otro comentario del mismo artículo, el symfonero Pablo (conocido por su nick pablodip) asegura que actualmente Symfony no se encuentra protegido contra algunos ataques de tipo CSRF. De hecho, Pablo ha creado un plugin llamado pdCSRFPlugin para solucionar estos problemas.
Guardado en plugins, seguridad, symfony
8 comentarios »