Marzo 6, 2018
Django 2.0.3 soluciona dos problemas de seguridad y varios errores en la versión 2.0.2. Además, se incorporan las últimas traducciones de cadenas de texto desde Transifex.
urlize y urlizetrunc¶La función django.utils.html.urlize() era extremadamente lenta al evaluar ciertos inputs debido a vulnerabilidades de backtracking catastrófico en dos expresiones regulares. La función urlize() se utiliza para implementar los filtros de plantilla urlize y urlizetrunc, que fueron así vulnerables.
Las expresiones regulares problemáticas se reemplazan con lógica de análisis que comporta de manera similar.
truncatechars_html y truncatewords_html.¶Si los métodos chars() y words() de django.utils.text.Truncator se pasaban el argumento html=True, eran extremadamente lentos para evaluar ciertos inputs debido a una vulnerabilidad de backtracking catastrófico en una expresión regular. Los métodos chars() y words() se utilizan para implementar los filtros de plantilla truncatechars_html y truncatewords_html, que estaban así vulnerables.
El problema de backtracking en la expresión regular se ha resuelto.
Corregido un retroceso que causaba que la secuencia de comandos QuerySet.distinct().order_by() seguida de count() se colapsara (#29108).
Priorizó los formatos de entrada de fecha y hora sin `` %f `` para la localización tailandesa para solucionar el widget del selector de hora administrativo que mostraba «sin definir» (#29109).
Fixed crash con QuerySet.order_by(Exists(...)) (#29118).
He aquí la traducción del texto original manteniendo todas las etiquetas intactas:
Corregida una regresión donde una expresión When() con un argumento de lista provoca un error (#29166).
Se ha corregido la caída de la aplicación cuando se utiliza una expresión Window() en una subconsulta (#29172).
Fixed AbstractBaseUser.normalize_username() crash si el argumento username no es una cadena de texto (#29176).
may 31, 2026