2 de diciembre de 2025
Django 5.2.9 arregla un problema de seguridad con severidad «alta», un problema de seguridad con severidad «moderada» y varios errores en la versión 5.2.8.
FilteredRelation en PostgreSQL¶FilteredRelation estaba sujeto a inyección SQL en aliases de columnas, utilizando un diccionario adecuadamente elaborado, con expansión de diccionario, como los **kwargs pasados a QuerySet.annotate() o QuerySet.alias() en PostgreSQL.
Deserializer¶Serialización XML estaba sujeta a un ataque potencial de denegación de servicio debido a la complejidad cuadrática del tiempo al deserializar documentos elaborados conteniendo muchos elementos inválidos anidados. El asistente interno django.core.serializers.xml_serializer.getInnerText() acumulaba texto interior de manera ineficiente durante la recursividad. Ahora recopila texto por elemento, evitando un uso excesivo de recursos.
Se corrigió un error en Django 5.2 donde django.utils.feedgenerator.Stylesheet.__str__() no escapaba las atributos url, mimetype y media, lo que podría provocar marcado XML inválido (#36733).
Se corrigió un error en Django 5.2 en PostgreSQL donde bulk_create() no aplicaba los lugares de consulta personalizados de un campo (#36748).
Se corrigió una regresión en Django 5.2.2 que causaba un crash cuando se utilizaban funciones de agregado con un filtro vacío Q sobre un conjunto de resultados con anotaciones (#36751).
Se corrigió una regresión en Django 5.2.8 donde se levantaba la excepción DisallowedRedirect por HttpResponseRedirect y HttpResponsePermanentRedirect para URLs más largas de 2048 caracteres. El límite ahora es de 16384 caracteres (#36743).
Se corrigió un crash en Python 3.14+ que impedía la inscripción de funciones de etiquetas de plantilla cuando sus anotaciones de tipo requerían evaluación diferida (#36712).
may 31, 2026