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.
Detalle de la
actualización
· 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.
Recomendació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.
1. Django 1.10.7 https://www.djangoproject.com/m/releases/1.10/Django-1.10.7.tar.gz
2. Django 1.9.13 https://www.djangoproject.com/m/releases/1.9/Django-1.9.13.tar.gz
3. Django 1.8.18 https://www.djangoproject.com/m/releases/1.8/Django-1.8.18.tar.gz
·
También
se encuentran disponibles parches para cada problema, disponibles desde hithub
o a través del aviso publicado: https://www.djangoproject.com/weblog/2017/apr/04/security-releases/
Más información:
· Django
security releases issued: 1.10.7, 1.9.13, and 1.8.18 https://www.djangoproject.com/weblog/2017/apr/04/security-releases/
Fuente: Hispasec