- 6.1
- Версия документации: 3.1
Примечания к выпуску Django 5.2.2¶
4 июня 2025 г.
В Django 5.2.2 исправлена проблема безопасности с низким уровнем серьезности и несколько ошибок в версии 5.2.1.
CVE-2025-48432: Потенциальное внедрение журнала через неэкранированный путь запроса.¶
Внутреннее ведение журнала HTTP-ответов напрямую использовало request.path, позволяя записывать в журналы управляющие символы (например, символы новой строки или escape-последовательности ANSI) без экранирования. Это может привести к внедрению или подделке журналов, позволяя злоумышленникам манипулировать внешним видом или структурой журналов, особенно журналов, обрабатываемых внешними системами или просматриваемых на терминалах.
Хотя это не влияет напрямую на модель безопасности Django, это создает риски, когда журналы используются или интерпретируются другими инструментами. Чтобы исправить это, внутренняя функция django.utils.log.log_response() теперь экранирует все аргументы позиционного форматирования, используя безопасное кодирование.
Исправления¶
Исправлен сбой при использовании select_based для объекта ForeignObject, происходящего из модели с CompositePrimaryKey (#36373).
Исправлена ошибка в Django 5.2, из-за которой подзапросы, использующие
"pk"для ссылки на модели сCompositePrimaryKey, не могли вызватьValueError, когда было выбрано слишком много или слишком мало столбцов (#36392).Исправлена регрессия в Django 5.2, приводившая к сбою, когда в ``QuerySet.union()““ (#36388) не передавались аргументы.
Исправлена регрессия в Django 5.2, из-за которой подклассы RemoteUserMiddleware, которые переопределяли
process_request(), больше не поддерживались (#36390).Исправлена регрессия в Django 5.2, приводившая к сбою при использовании OuterRef в аргументе фильтра выражения Aggregate (#36404).
Исправлена регрессия в Django 5.2, приводившая к сбою при использовании OuterRef в агрегатных функциях PostgreSQL ArrayAgg, StringAgg и JSONBAgg (:ticket:36405).
Исправлена регрессия в Django 5.2, где на кнопках администратора
filter_horizontalотсутствовалtype="button", из-за чего они перехватывали отправку формы при нажатии клавиши Enter (#36423).Исправлена ошибка в Django 5.2, из-за которой при вызове QuerySet.in_bulk() с аргументом id_list для моделей с CompositePrimaryKey не учитывались ограничения параметров базы данных (#36416).
Исправлена ошибка в Django 5.2, из-за которой
HttpRequest.get_preferred_type()не учитывал параметры типа носителя в заголовкахAccept, что снижало специфичность при согласовании контента (#36411).Исправлена регрессия в Django 5.2, приводившая к сбою при использовании QuerySet.prefetch_related() для предварительной выборки внешнего ключа с помощью набора запросов Prefetch для подкласса внешней цели (#36432).