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

14 мая 2014 г.

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

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

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

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

Чтобы исправить это, особое поведение этих старых версий 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 ©2020 All rights reserved