Примечания к выпуску Django 4.0.4¶
11 апреля 2022 года
Django 4.0.4 исправляет две проблемы безопасности со степенью серьезности «высокая» и две ошибки в 4.0.3.
CVE-2022-28346: Потенциальная SQL-инъекция в QuerySet.annotate()
, aggregate()
и extra()
¶
Методы QuerySet.annotate()
, aggregate()
и extra()
были подвержены SQL-инъекции в псевдонимы столбцов, используя соответствующим образом составленный словарь с расширением словаря в качестве **kwargs
, передаваемого этим методам.
CVE-2022-28347: потенциальная SQL-инъекция через QuerySet.explain(**options)
в PostgreSQL¶
<<<Метод QuerySet.explain()
был подвержен SQL-инъекции в именах опций, используя в качестве аргумента **options
подходящий словарь с расширением словаря.
Исправления¶
- Исправлена регрессия в Django 4.0, из-за которой игнорировалось несколько отношений
FilteredRelation()
к одному и тому же полю (#33598). - Исправлена регрессия в Django 3.2.4, из-за которой автозагрузка больше не обнаруживала изменения, когда опция
DIRS
параметраTEMPLATES
содержала пустую строку (#33628).