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