Vulnerabilidades en Django permiten Denegación de Servicio e Inyección SQL

Se han publicado un total de 4 vulnerabilidades en Django que afectan a las versiones 2.2, 2.1 y 1.11 las cuales podrían causar una Denegación de Servicio.

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 te repitas) evitando redundancias de código y consecuentemente reduciendo tiempo y esfuerzo.

La primera vulnerabilidad, identificada como CVE-2019-14232, existe en los métodos ‘chars’ y ‘words’ de la clase ‘django.utils.text.Truncator’ cuando el argumento ‘html=True’ es pasado debido que podría llegar a ser extremadamente lento al evaluar ciertas entradas, las cuales podrían ser aprovechadas por un atacante a través de las plantillas de filtros ‘truncatechars_html’ y ‘truncatewords_html’.

La segunda de las vulnerabilidades, con identificador CVE-2019-14233, se encuentra en el método ‘django.utils.html.strip_tags’ que puede llegar a ser lento al evaluar largas secuencias de entidades HTML enlazadas, las cuales podría utilizar un atacante a través de la plantilla de filtro ‘scriptags’.

La tercera, identificada como CVE-2019-14234, se encuentra en las clases exclusivas para PostgreSQL ‘django.contrib.postgres.fields.JSONField’ y ‘django.contrib.postgres.fields.HstoreField’ y podría ser vulnerable ante una ataque de inyección SQL a través de un diccionario de búsqueda especialmente manipulado con un filtro de búsqueda.

La cuarta y última vulnerabilidad, identificada como CVE-2019-14235, se encuentra en la función ‘django.utils.encoding.uri_to_iri’ que podría permitir que la memoria se consuma si es llamada con una secuencia de octetos UTF-8 especialmente manipulada.

Las
vulnerabilidades han sido corregidas en las versiones 2.2.4, 2.1.11 y
1.11.23 de Django.

Más información:

Django security releases issued: 2.2.4, 2.1.11 and 1.11.23
https://www.djangoproject.com/weblog/2019/aug/01/security-releases/

Powered by WPeMatico

Gustavo Genez

Informático de corazón y apasionado por la tecnología. La misión de este blog es llegar a los usuarios y profesionales con información y trucos acerca de la Seguridad Informática.