Примечания к выпуску Django 5.1.1¶
September 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).