Примечания к выпуску Django 5.0.7¶
July 9, 2024
Django 5.0.7 исправляет две проблемы безопасности со степенью «средней», две проблемы безопасности со степенью «низкой» и одну ошибку в версии 5.0.6.
CVE-2024-38875: Потенциальная уязвимость для отказа в обслуживании в django.utils.html.urlize()
¶
urlize
и urlizetrunc
были подвержены потенциальной атаке типа «отказ в обслуживании» через определенные входные данные с очень большим количеством скобок.
CVE-2024-39329: Перечисление имен пользователей с разницей во времени для пользователей с неиспользуемыми паролями¶
Метод authenticate()
позволял удаленным злоумышленникам перечислять пользователей с помощью временной атаки, включающей запросы на вход для пользователей с неиспользуемыми паролями.
CVE-2024-39330: Потенциальный обход каталога через Storage.save()
¶
Производные классы базового класса Storage
, которые переопределяют generate_filename()
без повторения проверки пути к файлу, существующей в родительском классе, допускают потенциальный обход каталога с помощью определенных входных данных при вызове save()
.
Эта уязвимость не затронула встроенные подклассы Storage
.
CVE-2024-39614: Потенциальная уязвимость для отказа в обслуживании в get_supported_language_variant()
¶
get_supported_language_variant()
был подвержен потенциальной атаке отказа в обслуживании при использовании с очень длинными строками, содержащими определенные символы.
Чтобы устранить эту уязвимость, код языка, указанный в get_supported_language_variant()
, теперь анализируется с максимальной длиной в 500 символов.
Если код языка превышает 500 символов, то теперь будет отображаться ValueError
, если strict
равно True
, или если нет общего варианта и strict
равно False
.>.
Исправления¶
- Исправлена ошибка в Django 5.0, которая приводила к сбою
Model.full_clean()
в несохраненных экземплярах модели сGeneratedField
и некоторыми определеннымиMeta.constraints
(#35560).