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

Вернуться на верх