Примечания к выпуску Django 2.2.2¶
3 июня 2019 г.
В Django 2.2.2 исправлены проблемы безопасности и несколько ошибок версии 2.2.1.
CVE-2019-12308: AdminURLFieldWidget XSS¶
Кликабельная ссылка «Текущий URL-адрес», созданная с помощью AdminURLFieldWidget, отображала предоставленное значение без проверки его как безопасного URL-адреса. Таким образом, непроверенное значение, хранящееся в базе данных, или значение, предоставленное в качестве полезной нагрузки параметра URL-запроса, может привести к появлению кликабельной ссылки JavaScript.
AdminURLFieldWidget теперь проверяет предоставленное значение, используя URLValidator перед отображением интерактивной ссылки. Вы можете настроить валидатор, передав kwarg validator_class в 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, из-за которой переключатели «Показать/Скрыть» не работали в динамически добавляемых строках администратора (#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).