13 de agosto de 2013
Esta es Django 1.5.2, un lanzamiento de corrección de errores y seguridad para Django 1.5.
Django se basa en la entrada del usuario en algunos casos (por ejemplo, django.contrib.auth.views.login(), django.contrib.comments, y i18n) para redirigir al usuario a una URL de «éxito». Las comprobaciones de seguridad para estas redirecciones (es decir, django.utils.http.is_safe_url()) no comprobaron si el esquema es http(s) y como tal permitieron URLs de JavaScript (javascript:…) ser introducidas. Si un desarrollador confiaba en is_safe_url() para proporcionar objetivos de redirección seguros y ponía tal URL en una etiqueta, podría sufrir un ataque XSS. Este bug no afecta a Django actualmente, ya que solo ponemos esta URL en la cabecera de respuesta Location y los navegadores parecen ignorar JavaScript allí.
django.contrib.admin¶Si se utiliza un campo URLField en Django 1.5, muestra el valor actual del campo y un enlace al objetivo en la página de cambio administrativa. La rutina de visualización de este widget estaba defectuosa y permitía XSS.
Se corrigió un error de caída con prefetch_related() (#19607), así como algunas regresiones de pickle con prefetch_related (#20157 y #20257).
Corregida una regresión en django.contrib.gis en la salida de Google Map en Python 3 (#20773).
He aquí la traducción del texto original, manteniendo todas las etiquetas intactas:
Corregido el método get_many() de la parte trasera django.core.cache.backends.memcached.MemcachedCache en Python 3 (#20722).
Corregidas errores de sintaxis en la traducción de django.contrib.humanize: idiomas afectados: Español Mexicano, Mongólico, Rumano, Turco (#20695).
Se ha agregado soporte para paquetes en forma de rueda (#19252).
El token CSRF se renueva cuando un usuario inicia sesión.
Algunas correcciones de compatibilidad con Python 3, incluyendo #20212 y #20025.
He aquí la traducción del texto manteniendo todas las etiquetas intactas:
makemessages ya no se bloquea con UnicodeDecodeError (#20354).
Fixed la detección de geojson con SpatiaLite.
: meth:~django.test.SimpleTestCase.assertContains vuelve a funcionar correctamente con contenido binario (#20237).
Se ha corregido ManyToManyField si tiene un parámetro name de Unicode (#20207).
Se ha asegurado que el camino del pedido WSGI está basado correctamente en la variable de entorno SCRIPT_NAME o la configuración FORCE_SCRIPT_NAME, independientemente de si alguno de ellos tiene una barra diagonal al final (#20169).
Se ha corregido un bug poco común con el decorador override_settings(). Si se produce una excepción AttributeError: 'Settings' object has no attribute '_original_allowed_hosts', probablemente está solucionado (#20636).
may 31, 2026