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

3 июня 2019

Django 2.2.2 исправляет проблемы безопасности и несколько ошибок в 2.2.1.

CVE-2019-12308: AdminURLFieldWidget XSS

Кликабельная ссылка «Current URL», созданная командой AdminURLFieldWidget, отображала предоставленное значение без проверки его как безопасного URL. Таким образом, непроверенное значение, хранящееся в базе данных, или значение, предоставленное в качестве полезной нагрузки параметра запроса URL, могло привести к появлению кликабельной ссылки JavaScript.

AdminURLFieldWidget теперь проверяет предоставленное значение с помощью URLValidator перед отображением кликабельной ссылки. Вы можете настроить валидатор, передав validator_class kwarg в AdminURLFieldWidget.__init__(), например, при использовании formfield_overrides.

Исправлена комплектация jQuery для CVE-2019-11358: Загрязнение прототипа

jQuery до версии 3.4.0 неправильно обрабатывает jQuery.extend(true, {}, ...) из-за загрязнения Object.prototype. Если несанированный исходный объект содержал перечислимое __proto__ свойство, он мог расширить родной Object.prototype.

Версия jQuery, используемая администратором Django, была исправлена, чтобы позволить библиотеке select2 использовать jQuery.extend().

Исправления

  • Исправлена регрессия в Django 2.2, из-за которой переключатели Show/Hide не работали на динамически добавляемых админских строках (#30459).
  • Исправлена регрессия в Django 2.2, когда сообщение о депривации аварийно завершалось, если Meta.ordering содержит выражение (#30463).
  • Исправлена регрессия в Django 2.2.1, когда SearchVector генерировал SQL с избыточным вызовом Coalesce (#30488).
  • Исправлена регрессия в Django 2.2, когда автозагрузчик не определял изменения в файле manage.py при использовании StatReloader (#30479).
  • Исправлено падение ArrayAgg и StringAgg с аргументом ordering при использовании в Subquery (#30315).
  • Исправлена регрессия в Django 2.2, которая приводила к сбою автозагрузки при возникновении исключения с пользовательской сигнатурой (#30516).
  • Исправлена ошибка в Django 2.2.1, когда автозагрузчик без необходимости перезагружал файлы перевода несколько раз при использовании StatReloader (#30523).
Вернуться на верх