Примечания к выпуску 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).