Примечания к выпуску 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()
декоратором. Если вы обнаружите исключение, оно, вероятно, исправлено (# 20636).AttributeError: 'Settings' object has no attribute '_original_allowed_hosts'