Примечания к выпуску Django 3.2.5¶
1 июля 2021 года
Django 3.2.5 исправляет проблему безопасности со степенью серьезности «высокая» и несколько ошибок в 3.2.4. Также включены последние переводы строк от Transifex.
CVE-2021-35042: Потенциальная SQL-инъекция через несанированный ввод QuerySet.order_by()
¶
Несанированный пользовательский ввод, переданный в QuerySet.order_by()
, может обойти предусмотренную проверку ссылок на столбцы в путях, помеченных на устаревание, что приводит к потенциальной SQL-инъекции, даже если выдается предупреждение об устаревании.
В качестве смягчения была восстановлена строгая валидация ссылок на столбцы на время периода обесценивания. Эта регрессия появилась в версии 3.1 как побочный эффект исправления #31426.
Проблема отсутствует в основной ветке, так как устаревший путь был удален.
Исправления¶
- Исправлена регрессия в Django 3.2, которая приводила к сбою
QuerySet.values_list(…, named=True)
послеprefetch_related()
(#32812). - Исправлена ошибка в Django 3.2, которая приводила к сбою миграции на MySQL 8.0.13+ при изменении
BinaryField
,JSONField
илиTextField
на non-nullable (#32503). - Исправлена регрессия в Django 3.2, которая вызывала сбой миграции на MySQL 8.0.13+ при добавлении nullable
BinaryField
,JSONField
илиTextField
со значением по умолчанию (#32832). - Исправлена ошибка в Django 3.2, когда системная проверка аварийно завершалась на модели с недопустимым
app_label
(#32863).