Примечания к выпуску 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 ©2020 All rights reserved