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

1 июля 2019 года

Django 2.2.3 исправляет проблему безопасности и несколько ошибок в 2.2.2. Также включены последние переводы строк от Transifex.

CVE-2019-12781: Некорректное обнаружение HTTP при подключении обратного прокси-сервера через HTTPS

При развертывании за обратным прокси, подключающимся к Django через HTTPS, django.http.HttpRequest.scheme неправильно определяет запросы клиентов, сделанные через HTTP, как использующие HTTPS. Это приводит к неправильным результатам для is_secure(), и build_absolute_uri(), а также к тому, что HTTP запросы не будут перенаправлены на HTTPS в соответствии с SECURE_SSL_REDIRECT.

HttpRequest.scheme теперь уважает SECURE_PROXY_SSL_HEADER, если он настроен, и соответствующий заголовок установлен в запросе, как для HTTP, так и для HTTPS запросов.

Если вы развертываете Django за обратным прокси, который перенаправляет HTTP запросы, и который подключается к Django через HTTPS, убедитесь, что ваше приложение правильно обрабатывает пути кода, полагающиеся на scheme, is_secure(), build_absolute_uri() и SECURE_SSL_REDIRECT.

Исправления

  • Исправлена регрессия в Django 2.2, когда Avg, StdDev и Variance аварийно завершались при аргументе filter (#30542).
  • Исправлена регрессия в Django 2.2.2, когда автозагрузка падала при AttributeError, например, при использовании ipdb (#30588).
Вернуться на верх