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

14 мая 2014 г.

Django 1.5.8 исправляет две проблемы безопасности в 1.5.8.

Кэшам может быть неправильно разрешено хранить и обслуживать личные данные

В определенных ситуациях Django может разрешить кешам хранить личные данные, относящиеся к определенному сеансу, а затем передавать эти данные запросам с другим сеансом или вообще без сеанса. Это может привести к раскрытию информации и стать причиной заражения кеша.

При использовании сеансов Django Django устанавливает заголовок, чтобы гарантировать, что кеши не будут обслуживать кэшированные данные для запросов из других сеансов. Однако более старые версии Internet Explorer (скорее всего, только Internet Explorer 6 и Internet Explorer 7, если они работают в Windows XP или Windows Server 2003) не могут обрабатывать заголовок в сочетании со многими типами содержимого. Следовательно, Django удалит заголовок, если запрос был сделан Internet Explorer.Vary: CookieVary

Чтобы исправить это, особое поведение этих старых версий Internet Explorer было удалено, и Varyзаголовок больше не удаляется из ответа. Кроме того, изменения Cache-Controlзаголовка для всех запросов Internet Explorer с Content-Dispositionзаголовком также были удалены, так как у них были обнаружены аналогичные проблемы.

Некорректные URL-адреса перенаправления из пользовательского ввода неправильно проверены

При проверке перенаправления некорректно проверялись некоторые искаженные URL-адреса, которые принимаются некоторыми браузерами. Это позволяет неожиданно перенаправить пользователя на небезопасный URL-адрес.

В некоторых случаях Django полагается на ввод данных пользователем (например django.contrib.auth.views.login(), django.contrib.commentsи i18n ) для перенаправления пользователя на URL-адрес «при успехе». Проверки безопасности для этих перенаправлений (а именно django.utils.http.is_safe_url()) неправильно проверяли некоторые искаженные URL-адреса, например http:\\\\\\djangoproject.com, которые принимаются некоторыми браузерами с более либеральным анализом URL-адресов.

Чтобы исправить это, проверка is_safe_url()была усилена, чтобы можно было обрабатывать и правильно проверять эти искаженные URL-адреса.

Copyright ©2021 All rights reserved