Примечания к выпуску Django 4.2.14¶
9 июля 2024 г.
В Django 4.2.14 исправлены две проблемы безопасности с уровнем серьезности «средний» и две проблемы безопасности с уровнем серьезности «низкий» в версии 4.2.13.
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.