Notas de lanzamiento de Django 4.2.15

6 de agosto de 2024

Django 4.2.15 resuelve tres problemas de seguridad con severidad «moderada», un problema de seguridad con severidad «alta» y una regresión en 4.2.14.

CVE-2024-41989: Agotamiento de memoria en django.utils.numberformat.floatformat()

Si floatformat recibía una representación como cadena de un número en notación científica con un exponente grande, podría provocar un consumo significativo de memoria.

Para evitar esto, ahora se devuelven decimales con más de 200 dígitos tal cual.

CVE-2024-41990: Vulnerabilidad potencial de denegación de servicio en django.utils.html.urlize()

urlize y urlizetrunc estaban sujetos a un ataque potencial de denegación de servicio mediante entradas muy grandes con una secuencia específica de caracteres.

CVE-2024-41991: Vulnerabilidad potencial de denegación de servicio en django.utils.html.urlize() y AdminURLFieldWidget

urlize, urlizetrunc y AdminURLFieldWidget estaban sujetos a un ataque potencial de denegación de servicio mediante ciertas entradas con un número muy grande de caracteres Unicode.

CVE-2024-42005: Inyección SQL en QuerySet.values() y values_list()

QuerySet.values() y values_list() métodos en modelos con un campo JSONField estaban sujetos a inyección SQL en alias de columnas, mediante una clave JSON personalizada como argumento *arg.

Bugfixes

  • Se corrigió una regresión en Django 4.2.14 que causaba un crash en LocaleMiddleware al procesar un código de idioma con más de 500 caracteres (#35627).