Примечания к выпуску Django 4.0.1

4 января 2022 года

Django 4.0.1 исправляет одну проблему безопасности со степенью серьезности «средняя», две проблемы безопасности со степенью серьезности «низкая» и несколько ошибок в 4.0.

CVE-2021-45115: Возможность отказа в обслуживании в UserAttributeSimilarityValidator

UserAttributeSimilarityValidator несли значительные накладные расходы, оценивая присланный пароль, который был искусственно большим по сравнению со значениями сравнения. В предположении, что доступ к регистрации пользователей был неограниченным, это давало потенциальный вектор для атаки типа «отказ в обслуживании».

Чтобы смягчить эту проблему, относительно длинные значения теперь игнорируются командой UserAttributeSimilarityValidator.

Эта проблема имеет серьезность «средняя» в соответствии с Django security policy.

CVE-2021-45116: Потенциальное раскрытие информации в фильтре шаблонов dictsort

Из-за использования логики разрешения переменных в Django Template Language, фильтр шаблонов dictsort был потенциально уязвим для раскрытия информации или непреднамеренных вызовов методов, если ему передавался соответствующим образом созданный ключ.

Чтобы избежать этой возможности, dictsort теперь работает с ограниченной логикой разрешения, которая не будет вызывать методы и не позволит индексировать словари.

Напоминаем, что все недоверенные пользовательские данные должны быть проверены перед использованием.

Эта проблема имеет серьезность «низкая» в соответствии с Django security policy.

CVE-2021-45452: Потенциальный обход каталога через Storage.save()

Storage.save() допускал обход каталога, если ему напрямую передавались соответствующим образом сконструированные имена файлов.

Эта проблема имеет серьезность «низкая» в соответствии с Django security policy.

Исправления

  • Fixed a regression in Django 4.0 that caused a crash of assertFormsetError() on a formset named form (#33346).
  • Исправлена ошибка в Django 4.0, которая приводила к сбою при работе с булевыми числами с бэкендом RedisCache (#33361).
  • Ослаблена проверка, добавленная в Django 4.0, чтобы разрешить использование утиного типа HttpRequest в декораторах django.views.decorators.cache.cache_control() и never_cache() (#33350).
  • Исправлена регрессия в Django 4.0, которая приводила к созданию ошибочных миграций для моделей, ссылающихся на заменяемые модели, такие как auth.User (#33366).
  • Исправлена давняя ошибка в Коллекции геометрии и Polygon, которая приводила к сбою на некоторых платформах (сообщалось о macOS на базе архитектуры ARM64) (#32600).
Вернуться на верх