Notas de lanzamiento de Django 5.2.11

3 de febrero de 2026

Django 5.2.11 resuelve tres problemas de seguridad con severidad «alta», dos problemas de seguridad con severidad «moderada» y uno problema de seguridad con severidad «baja» en 5.2.10.

CVE-2025-13473: Enumeración de usuarios a través de diferencia de tiempo en el manipulador de autenticación de mod_wsgi

La función django.contrib.auth.handlers.modwsgi.check_password() para la autenticación mediante mod_wsgi permitía a los atacantes remotos enumerar usuarios a través de un ataque por tiempo.

Este problema tiene una severidad de «baja» según la póliza de seguridad de Django.

CVE-2025-14550: Vulnerabilidad potencial de denegación de servicio via encabezados repetidos al utilizar ASGI

Al recibir duplicados de un solo encabezado, ASGIRequest permitía a los atacantes remotos causar una denegación de servicio potencial mediante una solicitud específicamente creada con múltiples encabezados duplicados. La vulnerabilidad resultaba del concatenado repetido de cadenas mientras se combinaban encabezados repetidos, lo que producía un cálculo super-lineal que resultaba en la degradación o el cese del servicio.

Este problema tiene severidad «moderada» según la política de seguridad de Django.

CVE-2026-1207: Vulnerabilidad potencial de inyección SQL via consultas raster en PostGIS

Las consultas raster en campos GIS (sólo implementados en PostGIS) estaban sujetos a la inyección SQL si se utilizaba datos no confiables como índice de banda.

Recuerda que todos los datos de entrada de usuario no confiables deben ser validados antes de su uso.

Este problema tiene severidad «alta» según la política de seguridad de Django.

CVE-2026-1285: Vulnerabilidad potencial de denegación de servicio en los métodos HTML de django.utils.text.Truncator

django.utils.text.Truncator.chars() y Truncator.words() métodos (con html=True) y los filtros de plantilla truncatechars_html y truncatewords_html fueron objeto de un potencial ataque de denegación de servicio a través de ciertos inputs con un gran número de etiquetas HTML finales no coincidentes, lo que podría causar complejidad en el tiempo cuadrática durante la parsificación de HTML.

Este problema tiene severidad «moderada» según la política de seguridad de Django.

CVE-2026-1287: Inyección SQL potencial en alias de columnas mediante caracteres de control

La clase FilteredRelation fue objeto de inyección SQL en alias de columnas mediante caracteres de control, utilizando un diccionario adecuadamente elaborado, con expansión de diccionario, como los **kwargs pasados a QuerySet.annotate(), aggregate(), extra(), values(), values_list() y alias().

Este problema tiene severidad «alta» según la política de seguridad de Django.

CVE-2026-1312: Inyección SQL potencial a través de QuerySet.order_by y FilteredRelation

El método QuerySet.order_by() fue objeto de inyección SQL en alias de columnas que contenían puntos cuando el mismo alias era, utilizando un diccionario adecuadamente elaborado, con expansión de diccionario, utilizado en la clase FilteredRelation.

Este problema tiene severidad «alta» según la política de seguridad de Django.