CSIRTCV

Está usted visitando una publicación en la hemeroteca de CSIRT-CV.
Para acceder al portal y contenido actual, visite https://www.csirtcv.gva.es

17/09/2013

Vulnerabilidades en Django

En tan sólo cinco días se han ha publicado dos boletines de seguridad para el framework Django. Solucionan dos vulnerabilidades que afectan a la confidencialidad y disponibilidad del sistema.

Riesgo: Medio

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, La última versión estable es la 1.5, encontrándose la versión 1.6 en fase de desarrollo.

La primera vulnerabilidad ha sido descubierta por Rainer Koirikivi y ha sido identificada como CVE-2013-4315. Es debida a un error al no restringir el acceso de la etiqueta para plantilla "ssi" únicamente a los directorios especificados en "TEMPLATE_DIRS". Esto podría permitir el acceso a directorios restringidos a través de un ataque de escalada de directorios.

Su explotación de forma remota requiere que la plantilla haga uso de la etiqueta "ssi" y p usuario pueda interactuar con ella y proporcionar la ruta como parámetro de dicha etiqueta.

Tan solo unos días después se ha corregido otra vulnerabilidad con identificador CVE-2013-1443. En esta ocasión se trata de una denegación de servicio, solventada de manera urgente ya que fue publicada antes de reportarla a los desarrolladores del framework.

El problema viene dado por el método por defecto para calcular el hash de las contraseñas (PBKDF2) utilizado por el módulo de autenticación 'django.contrib.auth', que es relativamente costoso de calcular, y la falta de limitación en la longitud de dichas contraseñas. Esto provocaría un excesivo consumo de recursos en el servidor. Un atacante remoto podría causar una denegación de servicio enviando sucesivas peticiones de autenticación con contraseñas de gran tamaño.

Sistemas Afectados:

Django, versiones anteriores a 1.4.8, 1.5.4, y 1.6 beta 4.

Referencias:

CVE-2013-1443, CVE-2013-4315

Solución:

 Django Software Foundation ha publicado las versiones 1.4.8, 1.5.4, y 1.6 beta 4 de Django que solucionan ambas vulnerabilidades. Se encuentran disponibles para su descarga en la página oficial.

Notas:

Security releases issued: directory traversal with ssi template tag
Security releases issued: denial-of-service via large passwords
Download Django
Index of Packages > Django

Fuente: Hispasec una-al-día

CSIRT-CV