Notas de lanzamiento de Django 3.2.22

4 de octubre de 2023

Django 3.2.22 resuelve un problema de seguridad con severidad «moderada» en la versión 3.2.21.

CVE-2023-43665: Posibilidad de denegación de servicio en django.utils.text.Truncator

A raíz de la corrección para CVE 2019-14232, las expresiones regulares utilizadas en la implementación de los métodos chars() y words() de django.utils.text.Truncator (con html=True) fueron revisadas e mejoradas. Sin embargo, estas expresiones regulares aún exhibían complejidad de retroalimentación lineal, por lo que cuando se le presentaba una entrada HTML muy larga y potencialmente malformada, la evaluación seguiría siendo lenta, lo que llevaría a una vulnerabilidad potencial de denegación de servicio.

Los métodos chars() y words() se utilizan para implementar los filtros de plantilla truncatechars_html y truncatewords_html, que también estaban así vulnerables.

El input procesado por Truncator, cuando opera en modo HTML, ha sido limitado a los primeros cinco millones de caracteres con el fin de evitar problemas potenciales de rendimiento y memoria.