Примечания к выпуску Django 2.0.2

1 февраля 2018 г.

Django 2.0.2 исправляет проблему безопасности и несколько ошибок в 2.0.1.

CVE-2018-6188: утечка информации в AuthenticationForm

В результате регресса в Django 1.11.8 AuthenticationFormего confirm_login_allowed()метод запускался даже при вводе неверного пароля. Это может привести к утечке информации о пользователе, в зависимости от того, какие сообщения confirm_login_allowed()возникают. Если confirm_login_allowed()не отменено, злоумышленник вводит произвольное имя пользователя и проверяет, установлен ли этот пользователь на is_active=False. В случае confirm_login_allowed()переопределения может произойти утечка более важных деталей.

Эта проблема устранена с предупреждением, что AuthenticationFormбольше не может появляться сообщение «Эта учетная запись неактивна». ошибка, если бэкэнд аутентификации отклоняет неактивных пользователей (бэкэнд аутентификации по умолчанию ModelBackendделал это с Django 1.10). Эта проблема будет повторно рассмотрена для Django 2.1, поскольку исправление для устранения этой оговорки, вероятно, будет слишком агрессивным для включения в более старые версии.

Исправления

  • Исправлено скрытое содержимое в нижней части сообщения «Установка прошла успешно!» страница для некоторых языков ( # 28885 ).
  • Исправлено некорректное обнуление внешнего ключа, если у модели есть два внешних ключа к одной и той же модели, а целевая модель удалена ( # 29016 ).
  • Исправлена ​​регрессия в использовании, за которым следует ( # 29067 ).QuerySet.values_list(..., flat=True)annotate()
  • Исправлена ​​регрессия, при которой происходит сбой набора запросов с аннотациями геометрических объектов ( # 29054 ).
  • Исправлена ​​регрессия, при которой происходит contrib.auth.authenticate()сбой, если серверная часть аутентификации не принимает, requestа более поздняя - принимает ( # 29071 ).
  • Исправлена ​​регрессия, при которой происходит makemigrationsсбой, если в каталоге миграции нет __init__.pyфайла ( # 29091 ).
  • Исправлен сбой при вводе недопустимого uuid в ModelAdmin.raw_id_fields ( # 29094 ).

Copyright ©2021 All rights reserved