Примечания к выпуску 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, был ограничен первыми пятью миллионами символов, чтобы избежать потенциальных проблем с производительностью и памятью.