Примечания к выпуску 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.
Исправления¶
- Исправлена регрессия в Django 4.0, которая приводила к сбою
assertFormsetError()
на наборе форм с именем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).