Notas de lanzamiento de Django 4.0.4

11 de abril de 2022

Django 4.0.4 soluciona dos problemas de seguridad con severidad «alta» y dos errores en 4.0.3.

CVE-2022-28346: Inyección SQL potencial en QuerySet.annotate(), aggregate() y extra()

Los métodos QuerySet.annotate(), aggregate() y extra() estaban sujetos a inyección SQL en alias de columnas, utilizando un diccionario adecuadamente elaborado, con expansión de diccionarios, como los **kwargs pasados a estos métodos.

CVE-2022-28347: Inyección SQL potencial via QuerySet.explain(**options) en PostgreSQL

El método QuerySet.explain() estaba sujeto a inyección SQL en nombres de opciones, utilizando un diccionario adecuadamente elaborado, con expansión de diccionarios, como el argumento **options.

Bugfixes

  • Se ha solucionado una regresión en Django 4.0 que causaba ignorar múltiples relaciones FilteredRelation() al mismo campo (#33598).

  • Se corrigió una regresión en Django 3.2.4 que causó que el reloj automático ya no detectara cambios cuando la opción DIRS del ajuste TEMPLATES contenía una cadena vacía (#33628).