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

13 августа 2013

Django 1.4.6 исправляет одну проблему безопасности, присутствовавшую в предыдущих выпусках Django серии 1.4, а также еще одну ошибку.

Это шестой выпуск исправлений/безопасности в серии Django 1.4.

Устранена возможная XSS-атака через URL-адреса перенаправления, заданные пользователем

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

Исправления

  • Исправлена неясная ошибка с декоратором override_settings(). Если вы столкнулись с исключением AttributeError: 'Settings' object has no attribute '_original_allowed_hosts', это, вероятно, исправлено (#20636).
Вернуться на верх