29 de noviembre de 2016

Nuevas versiones de Django solucionan varias vulnerabilidades

La Django Software Foundation ha publicado nuevas versiones de las ramas 1.10, 1.9 y 1.8 de Django, que solucionan dos vulnerabilidades que permitirían acceder a la base de datos sin autorización o la realización de ataques de 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 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 la actualización
  • La primera vulnerabilidad, con CVE-2016-9013, reside en la creación de una contraseña estática al ejecutar tests con bases de datos Oracle. Esto podría permitir a un atacante con acceso al servidor de base de datos conectarse con esa contraseña. Generalmente el usuario es eliminado una vez se completan los tests, pero en determinadas circunstancias puede mantenerse.
  • Por otra parte, con CVE-2016-9014, una vulnerabilidad por la falta de validación de la cabecera Host contra settings.ALLOWED_HOSTS cuando settings.DEBUG=True. Lo que hace que sea vulnerable a ataques DNS rebinding, que puede convertir el sistema en un proxy. Como Django no incluye un módulo que permita la ejecución remota, esto podría facilitar, al menos, la realización de ataques de cross-site scripting. Pero si un proyecto usa un paquete como django-debug-toolbar, podría facilitar la realización de ataques de inyección SQL.
  • De forma adicional, Django incluye un aviso de seguridad en relación a un problema de una fuga de información de la huella digital en redes sociales que se ha anunciado recientemente. El problema reside en que sitios webs de terceros pueden determinar si los visitantes están autenticados en algunas redes sociales, por la redirección del usuario autenticado en la página de login.
Recomendación
Django Software Foundation ha publicado las versiones 1.10.3, 1.9.11 y 1.8.16 de Django que solucionan estas vulnerabilidades. Las actualizaciones están disponibles desde:
  1. Django 1.10.3: https://www.djangoproject.com/m/releases/1.10/Django-1.10.3.tar.gz
  2. Django 1.9.11: https://www.djangoproject.com/m/releases/1.9/Django-1.9.11.tar.gz
  3. Django 1.8.16: https://www.djangoproject.com/m/releases/1.8/Django-1.8.16.tar.gz
También se han publicado parches individuales para cada una de las vulnerabilidades.
Más información:
Fuente: Hispasec