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