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

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

  • Исправлена ​​регрессия при использовании QuerySet.values_list(..., Flat=True) с последующим annotate() (#29067).

  • Исправлена ​​регрессия, при которой произошел сбой набора запросов, который аннотирует геометрические объекты (#29054).

  • Исправлена ​​регрессия, при которой contrib.auth.authenticate() аварийно завершает работу, если сервер аутентификации не принимает запрос, а более поздний принимает (#29071).

  • Исправлена ​​регрессионная ошибка, при которой makemigrations завершает работу, если в каталоге миграции нет файла __init__.py (#29091).

  • Исправлен сбой при вводе неверного uuid в ModelAdmin.raw_id_fields (#29094).

Back to Top