Примечания к выпуску 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).