• 3.2
  • 5.0
  • 6.1
  • Версия документации: 3.1

Примечания к выпуску Django 5.0.8

6 августа 2024 г.

В Django 5.0.8 исправлены три проблемы безопасности с уровнем серьезности «средний», одна проблема безопасности с уровнем серьезности «высокий» и несколько ошибок в версии 5.0.7.

CVE-2024-41989: нехватка памяти в django.utils.numberformat.floatformat().

Если бы floatformat получал строковое представление числа в научной записи с большим показателем степени, это могло привести к значительному потреблению памяти.

Чтобы избежать этого, десятичные дроби, содержащие более 200 цифр, теперь возвращаются как есть.

CVE-2024-41990: Потенциальная уязвимость типа «отказ в обслуживании» в django.utils.html.urlize().

urlize и urlizetrunc подвергались потенциальной атаке типа «отказ в обслуживании» посредством очень больших входных данных с определенной последовательностью символов.

CVE-2024-41991: Потенциальная уязвимость типа «отказ в обслуживании» в django.utils.html.urlize() и AdminURLFieldWidget.

urlize, urlizetrunc и AdminURLFieldWidget подвергались потенциальной атаке типа «отказ в обслуживании» через определенные входные данные с очень большим количеством символов Юникода.

CVE-2024-42005: потенциальное внедрение SQL в QuerySet.values() и values_list().

Методы QuerySet.values() и values_list() в моделях с JSONField подвергались SQL-инъекции в псевдонимы столбцов через созданный объектный ключ JSON в качестве переданного *arg.

Исправления

  • Добавлена ​​отсутствующая проверка для «UniqueConstraint(nulls_distinct=False)» при использовании «*выражений» (#35594).

  • Исправлена ​​регрессия в Django 5.0, из-за которой ModelAdmin.action_checkbox мог нарушить HTML-страницу списка изменений администратора при рендеринге экземпляра модели с помощью метода __html__ (#35606).

  • Исправлен сбой при создании модели с ограничением Field.db_default и ограничением Meta.constraints, состоящим из поисков __endswith, __startswith или __contains (#35625).

  • Исправлена ​​регрессия в Django 5.0.7, приводившая к сбою в LocaleMiddleware при обработке языкового кода длиной более 500 символов (#35627).

  • Исправлена ​​ошибка в Django 5.0, приводившая к сбою проверки системы, когда ModelAdmin.date_hierarchy был GeneratedField с выходным полем DateField или DateTimeField (:ticket:35628).

  • Исправлена ​​ошибка в Django 5.0, которая приводила к сбою проверки ограничений или некорректному возникновению ошибок проверки для ограничений, ссылающихся на поля с использованием Field.db_default (#35638).

  • Исправлен сбой в Django 5.0 при сохранении модели, содержащей FileField с набором db_default (#35657).

Back to Top