Примечания к выпуску Django 4.1.12¶
4 октября 2023
Django 4.1.12 исправляет проблему безопасности со степенью серьезности «умеренная» в версии 4.1.11.
CVE-2023-43665: Возможность отказа в обслуживании в django.utils.text.Truncator
¶
После исправления CVE-2019-14232 были пересмотрены и улучшены регулярные выражения, используемые в реализации методов django.utils.text.Truncator
chars()
и words()
(с html=True
). Однако эти регулярные выражения по-прежнему демонстрировали линейную сложность обратного хода, поэтому при передаче очень длинного, потенциально деформированного HTML-ввода оценка все равно происходила медленно, что приводило к потенциальной уязвимости отказа в обслуживании.
Методы chars()
и words()
используются для реализации шаблонных фильтров truncatechars_html
и truncatewords_html
, которые, таким образом, также были уязвимы.
Ввод, обрабатываемый Truncator
при работе в режиме HTML, был ограничен первыми пятью миллионами символов, чтобы избежать потенциальных проблем с производительностью и памятью.