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

Примечания к выпуску 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() аварийно завершает работу, если сервер аутентификации не принимает запрос, а более поздний принимает (#29071).

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

Back to Top