Notas de lanzamiento de Django 1.8.19

Marzo 6, 2018

Django 1.8.19 resuelve dos problemas de seguridad en la versión 1.8.18.

CVE-2018-7536: Posibilidad de denegación de servicio en los filtros de plantilla urlize y urlizetrunc

La función django.utils.html.urlize() era extremadamente lenta para evaluar ciertos inputs debido a una vulnerabilidad de backtracking catastrófico en una expresión regular. La función urlize() se utiliza para implementar los filtros de plantilla urlize y urlizetrunc, que estaban así vulnerables.

La expresión regular problemática se reemplaza con lógica de parsing que comporta de manera similar.

CVE-2018-7537: Posibilidad de denegación de servicio en los filtros de plantilla truncatechars_html y truncatewords_html.

Si los métodos chars() y words() de django.utils.text.Truncator se pasaban el argumento html=True, eran extremadamente lentos para evaluar ciertos inputs debido a una vulnerabilidad de backtracking catastrófico en una expresión regular. Los métodos chars() y words() se utilizan para implementar los filtros de plantilla truncatechars_html y truncatewords_html, que estaban así vulnerables.

El problema de backtracking en la expresión regular se ha resuelto.