• 3.2
  • 5.0
  • 6.1
  • Версия документации: 3.1

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

Back to Top