Примечания к выпуску Django 5.1.1¶
3 сентября 2024 г.
В Django 5.1.1 исправлена одна проблема безопасности с уровнем серьезности «средний», одна проблема безопасности с уровнем серьезности «низкий» и несколько ошибок в версии 5.1.
CVE-2024-45230: Потенциальная уязвимость типа «отказ в обслуживании» в django.utils.html.urlize().¶
urlize и urlizetrunc подвергались потенциальной атаке типа «отказ в обслуживании» посредством очень больших входных данных с определенной последовательностью символов.
CVE-2024-45231: потенциальное перечисление электронной почты пользователя по статусу ответа при сбросе пароля.¶
Из-за необработанных сбоев при отправке электронной почты класс PasswordResetForm позволял удаленным злоумышленникам подсчитывать электронные письма пользователей, отправляя запросы на сброс пароля и наблюдая за результатами.
Чтобы снизить этот риск, исключения, возникающие во время отправки электронной почты для сброса пароля, теперь обрабатываются и регистрируются с помощью регистратора django.contrib.auth.
Исправления¶
Исправлена регрессия в Django 5.1, приводившая к сбою Window() при передаче пустой последовательности в параметр order_by и сбою Prefetch() для фрагментированного набора запросов без упорядочения (#35665).
Исправлена регрессия в Django 5.1, где новое поле
usable_passwordбыло включено вBaseUserCreationForm(и дочерние элементы). Был добавлен новыйAdminUserCreationForm, включающий это поле, изолирующий эту функцию от администратора, для которого она была предназначена (#35678).Скорректировано предупреждение об устаревании
stacklevelвModel.save()иModel.asave(), чтобы оно правильно указывало на вызывающий нарушение сайт вызова (#35060).Скорректировано предупреждение об устаревании stacklevel при использовании OS_OPEN_FLAGS в
FileSystemStorage, чтобы оно правильно указывало на вызывающий нарушение сайт (#35326).Скорректировано предупреждение об устаревании stacklevel в FieldCacheMixin.get_cache_name(), чтобы оно правильно указывало на сайт-нарушитель (#35405).
После регресса в Django 5.1 восстановлена возможность переопределять поведение часового пояса и настройки роли, используемое в методе
init_connection_stateбэкэнда PostgreSQL (#35688).Исправлена ошибка в Django 5.1, из-за которой регистрировались ошибки поиска переменных при отрисовке наборов полей администратора (#35716).