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