Примечания к выпуску Django 4.0.2¶
1 февраля 2022 г.
В Django 4.0.2 исправлены две проблемы безопасности со средней степенью серьезности и несколько ошибок в версии 4.0.1. Кроме того, включены последние переводы строк от Transifex, с особым упоминанием болгарского языка (полностью переведенный).
CVE-2022-22818: возможен XSS через тег шаблона {% debug %}.¶
Тег шаблона {% debug %} неправильно закодировал текущий контекст, создавая вектор атаки XSS.
Чтобы избежать этой уязвимости, {% debug %} больше не выводит информацию, если для параметра DEBUG установлено значение False, и гарантирует, что все контекстные переменные корректно экранируются, если для параметра DEBUG установлено значение True.
CVE-2022-23833: возможность отказа в обслуживании при загрузке файлов.¶
Передача определенных входных данных в составные формы может привести к бесконечному циклу при анализе файлов.
Исправления¶
Исправлена ошибка в Django 4.0, из-за которой TestCase.captureOnCommitCallbacks() мог выполнять обратные вызовы несколько раз (#33410).
Исправлена регрессия в Django 4.0, где
help_textэкранировался HTML в автоматически сгенерированных формах (#33419).Исправлена регрессия в Django 4.0, приводившая к отображению неправильного имени для представлений на основе классов на технической странице отладки 404 (#33425).
Исправлена регрессия в Django 4.0, приводившая к неправильному воспроизведению ResolverMatch для представлений на основе классов (#33426).
Исправлена регрессия в Django 4.0, приводившая к сбою makemigrations на моделях без Meta.order_with_respect_to, но с полем с именем _order (:ticket:33449).
Исправлена регрессия в Django 4.0, приводившая к неправильному расположению
ModelAdmin.radio_fieldsв панели администратора (#33407).Исправлена регрессия повторяющихся операций в Django 4.0, приводившая к сбою миграции при изменении типа первичного ключа для конкретной родительской модели, на которую ссылается внешний ключ (#33462).
Исправлена ошибка в Django 4.0, приводившая к сбою
QuerySet.aggregate()послеannotate()в агрегатной функции с default (#33468).Исправлена регрессия в Django 4.0, приводившая к сбою makemigrations при переименовании поля переименованной модели (#33480).