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

1 февраля 2018 г.

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

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, поскольку исправление для устранения этой оговорки, вероятно, будет слишком агрессивным для включения в более старые версии.

Исправления

  • Исправлено некорректное обнуление внешнего ключа, если у модели есть два внешних ключа к одной и той же модели, а целевая модель удалена ( # 29016 ).
  • Исправлена ​​регрессия, при которой происходит contrib.auth.authenticate()сбой, если серверная часть аутентификации не принимает, requestа более поздняя - принимает ( # 29071 ).
  • Исправлен сбой при вводе недопустимого uuid в ModelAdmin.raw_id_fields ( # 29094 ).

Copyright ©2021 All rights reserved