La Django Software Foundation ha publicado nuevas versiones de las
ramas Django 1.9 y 1.8 de Django, que solucionan dos vulnerabilidades que
podrían permitir redirecciones maliciosas, posibles ataques de cross-site
scripting y una enumeración de usuarios.
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 de pá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 las vulnerabilidades
- La primera vulnerabilidad, identificada como CVE-2016-2512, 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 algunas URLs con credenciales de autenticación básica “segura” cuando no deberían serlo. Esto podría permitir redirecciones maliciosas y posibles ataques de cross-site scripting a través de redirecciones introducidas por el usuario con autenticación básica.
- La segunda vulnerabilidad, con identificador CVE-2016-2513, podría permitir una enumeración de usuarios a través de la diferencia de tiempo entre una petición de login de un usuario válido con contraseña codificada y la petición de login para un usuario no existente.
- Django Software Foundation ha publicado las versiones 1.9.3, 1.8.10 de Django que solucionan estas vulnerabilidades. Las actualizaciones están disponibles a través del repositorio PyPi o la página oficial de Django.
- Django 1.9.3 https://www.djangoproject.com/m/releases/1.9/Django-1.9.3.tar.gz
- Django 1.8.10 https://www.djangoproject.com/m/releases/1.8/Django-1.8.10.tar.gz
- Django security releases issued: 1.9.3 and 1.8.10 https://www.djangoproject.com/weblog/2016/mar/01/security-releases/