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

13 августа 2013 г.

Это Django 1.5.2, исправление ошибок и выпуск безопасности для Django 1.5.

Снижены возможные атаки 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.

XSS-уязвимость в django.contrib.admin

Если a URLFieldиспользуется в Django 1.5, он отображает текущее значение поля и ссылку на цель на странице изменения администратора. Процедура отображения этого виджета была некорректной и допускала использование XSS.

Исправления

  • Исправлен сбой с prefetch_related() (# 19607), а также некоторые pickleрегрессии с prefetch_related (# 20157 и # 20257).
  • Исправлена ​​регрессия в django.contrib.gisвыводе Google Map на Python 3 (# 20773).
  • Сделана DjangoTestSuiteRunner.setup_databasesправильная обработка псевдонимов для базы данных по умолчанию (# 19940) и предотвращена teardown_databasesпопытка удаления псевдонимов (# 20681).
  • Исправлен django.core.cache.backends.memcached.MemcachedCacheбэкэнд- get_many()метод на Python 3 (# 20722).
  • Исправлены django.contrib.humanizeсинтаксические ошибки перевода. Затронутые языки: мексиканский испанский, монгольский, румынский, турецкий (# 20695).
  • Добавлена ​​поддержка пакетов колес (# 19252).
  • Токен CSRF теперь вращается, когда пользователь входит в систему.
  • Некоторые исправления совместимости с Python 3, включая # 20212 и # 20025.
  • Исправлены некоторые редкие случаи, когда get() исключения повторялись бесконечно (# 20278).
  • makemessagesбольше не вылетает с UnicodeDecodeError (# 20354).
  • Исправлено geojsonобнаружение с помощью SpatiaLite.
  • assertContains() снова работает с бинарным контентом (# 20237).
  • Исправлено, ManyToManyFieldесли у него есть name параметр Unicode (# 20207).
  • Гарантировано, что путь запроса WSGI правильно основан на SCRIPT_NAMEпеременной среды или FORCE_SCRIPT_NAME настройке, независимо от того, есть ли в конце косая черта (# 20169).
  • Исправлена ​​непонятная ошибка с override_settings() декоратором. Если вы обнаружите исключение, оно, вероятно, исправлено (# 20636).AttributeError: 'Settings' object has no attribute '_original_allowed_hosts'

Copyright ©2021 All rights reserved