La
Django Software Foundation ha publicado nuevas versiones de seguridad de las ramas Django 1.10, 1.9 y 1.8, que solucionan dos vulnerabilidades de redirección abierta
y un posible cross-site scripting.
Django es un framework de código
abierto basado en Python para el desarrollo de sitios web siguiendo el patrón
MVC (Modelo-Vista-Controlador). Fue publicado por primera vez en 2005, y desde
entonces su uso ha experimentado un considerable crecimiento entre los
desarrolladores. Se compone de una serie de herramientas para facilitar la
creación depáginas Web, siguiendo las directrices 'DRY' (Do not repeat yourself
– No se repita) evitando redundancias de código y consecuentemente reduciendo
tiempo y esfuerzo.
La primera vulnerabilidad,
identificada como CVE-2017-7233, debida a que en algunos casos Django confía en
los datos introducidos por el usuario (p.ej django.contrib.auth.views.login ()
e i18n) para redireccionar al usuario a una URL "on success". Los controles de seguridad para estas
redirecciones (django.utils.http.is_safe_url ()) consideran "seguras"
algunas URLs numéricas (p.ej. http:999999999) cuando no deberían serlo.
También si un desarrollador
confía en is_safe_url() para proporcionar una redirección segura y pone esta
URL en un enlace, se puede sufrir un ataque cross-site scripting.
Por otra parte, con CVE-2017-7234,
otra vulnerabilidad de redirección abierta en django.views.static.serve(). Un
atacante podría explotar este tipo de vulnerabilidades mediante una URL específicamente creada para
redireccionar a la víctima a cualquier otro sitio web de forma tranparente y
sin notificación.
Django Software Foundation ha
publicado las versiones Django 1.10.7, 1.9.13 y 1.8.18 de Django que solucionan
las vulnerabilidades. Las actualizaciones están disponibles a desde la página
oficial de Django.
Django 1.10.7
Django 1.9.13
Django 1.8.18
También se encuentran disponibles
parches para cada problema, disponibles desde hithub o a través del aviso
publicado:
Más información:
Django security releases issued: 1.10.7,
1.9.13, and 1.8.18
Antonio Ropero
Twitter: @aropero

No hay comentarios:
Publicar un comentario