Примечания к выпуску Django 3.0.7¶
3 июня 2020
Django 3.0.7 исправляет две проблемы безопасности и несколько ошибок в 3.0.6.
CVE-2020-13254: Потенциальная утечка данных через неправильно сформированные ключи memcached¶
В случаях, когда бэкенд memcached не выполняет проверку ключей, передача неправильно сформированных ключей кэша может привести к столкновению ключей и потенциальной утечке данных. Чтобы избежать этой уязвимости, в бэкенды кэша memcached добавлена проверка ключей.
CVE-2020-13596: Возможный XSS через администратора ForeignKeyRawIdWidget
¶
Параметры запроса для администратора ForeignKeyRawIdWidget
не были правильно закодированы в URL, что создавало вектор XSS-атаки. Теперь ForeignKeyRawIdWidget
обеспечивает правильное кодирование URL параметров запроса.
Исправления¶
- Исправлена регрессия в Django 3.0, восстановлена возможность использования поиска полей в
Meta.ordering
(#31538). - Исправлена регрессия в Django 3.0, когда
QuerySet.values()
иvalues_list()
аварийно завершались, если набор запросов содержал агрегацию и аннотацию подзапроса (#31566). - Исправлена ошибка в Django 3.0, когда агрегаты использовали неправильные аннотации, когда набор запросов имел несколько аннотаций подзапросов (#31568).
- Исправлена регрессия в Django 3.0, когда
QuerySet.values()
иvalues_list()
аварийно завершались, если кверисет содержал агрегацию и аннотациюExists()
на Oracle (#31584). - Исправлена регрессия в Django 3.0, когда все разрешенные выражения
Subquery()
считались равными (#31607). - Исправлена регрессия в Django 3.0.5, которая влияла на загрузку переводов для приложений, предоставляющих переводы для территориальных вариантов языка, а также общего языка, когда проект имеет различные уравнения множественного числа для языка (#31570).
- Отслеживание выпуска безопасности jQuery, обновление версии jQuery, используемой администратором, с 3.4.1 до 3.5.1.