9 de julio de 2024
Django 5.0.7 corrige dos problemas de seguridad con severidad «moderada», dos problemas de seguridad con severidad «baja» y un bug en 5.0.6.
django.utils.html.urlize()¶El filtro urlize y el filtro urlizetrunc estaban sujetos a un ataque potencial de denegación de servicio mediante ciertos inputs con un número muy grande de corchetes.
El método authenticate() permitía a los atacantes remotos enumerar usuarios mediante un ataque de tiempo involucrando solicitudes de inicio de sesión para usuarios con contraseñas no utilizables.
Storage.save()¶Las clases derivadas de la clase base Storage que sobreescriben el método generate_filename() sin replicar las validaciones de ruta de archivo existentes en la clase padre, permitían una travesía del directorio potencial mediante ciertos inputs al llamar al método save().
Las sub-clases de Storage integradas no estaban afectadas por esta vulnerabilidad.
get_supported_language_variant()¶get_supported_language_variant() estaba sujeta a un ataque potencial de denegación de servicio cuando se utilizaba con cadenas muy largas que contenían caracteres específicos.
Para mitigar esta vulnerabilidad, el código de idioma proporcionado a get_supported_language_variant() ahora se parsea hasta una longitud máxima de 500 caracteres.
Cuando el código de idioma supera los 500 caracteres, ahora se levantará un ValueError si strict es True, o si no hay una variante genérica y strict es False.
Se corrigió un bug en Django 5.0 que causaba una caída de Model.full_clean() en instancias de modelo no guardadas con un campo GeneratedField y ciertas definiciones de Meta.constraints (#35560).
may 31, 2026