• 3.1
  • 3.2
  • 5.0
  • Версия документации: 6.1

О релизе Django 1.3.4

17 октября 2012

Это четвёртый релиз в ветке Django 1.3.

Опасный заголовок Host

Некоторые части Django – вне зависимости от приложений – используют полный URL, включая доменное имя, которое генерируется из заголовка Host HTTP запроса. Некоторые атаки против этого находятся вне возможностей Django и требуют правильной настройки web-сервера, которые описаны в документации.

Однако встроенный в Django анализ заголовка Host по-прежнему уязвим, о чем нам недавно сообщалось. Анализ заголовка Host в Django 1.3.3 и Django 1.4.1, в частности, django.http.HttpRequest.get_host(), неправильно обрабатывал информацию об имени пользователя и пароле в заголовке. Так, например, следующий заголовок Host будет принят Django при запуске на validsite.com:

Host: validsite.com:random@evilsite.com

Пользуясь этим, злоумышленник может вызвать методы Django – в частности восстановление пароля - для создания и отображения произвольных URL-адреса для пользователей.

Чтобы исключить такую возможность, был изменён HttpRequest.get_host(). Теперь при разборе заголовка Host, который содержит потенциально опасный контент (например, имя пользователя или пароль) будет вызывать исключение django.core.exceptions.SuspiciousOperation.

Полный список исправленных ошибок можно найти на security advisory.

Back to Top