Примечания к выпуску Django 1.11.23 ¶
1 августа 2019 г.,
Django 1.11.23 исправляет проблемы безопасности в 1.11.22.
CVE-2019-14232: возможность отказа в обслуживании в django.utils.text.Truncator
¶
Если django.utils.text.Truncator
«s chars()
и words()
методы прошли html=True
аргумент, они были очень медленными , чтобы оценить определенные входы из - за катастрофическую обратное прослеживание уязвимости в регулярном выражении. chars()
И words()
методы используются для реализации
truncatechars_html
и truncatewords_html
фильтров шаблонов, которые были таким образом уязвимыми.
Регулярные выражения, используемые в Truncator
, были упрощены, чтобы избежать потенциальных проблем с возвратом. Как следствие, теперь в усеченный вывод могут иногда включаться завершающие знаки препинания.
CVE-2019-14233: возможность отказа в обслуживании в strip_tags()
¶
Из - за поведения базового актива HTMLParser
,
django.utils.html.strip_tags()
будет крайне медленным , чтобы оценить определенные входы , содержащих большие последовательности вложенных неполных HTML сущностей. Этот strip_tags()
метод используется для реализации соответствующего
striptags
шаблонного фильтра, который, таким образом, также был уязвим.
strip_tags()
теперь избегает рекурсивных вызовов HTMLParser
при удалении тегов, но обязательно неполных HTML-сущностей, перестает выполняться .
Помните, что абсолютно НИКАКИХ гарантий strip_tags()
безопасности HTML не дается
. Поэтому НИКОГДА не помечайте как безопасный результат
strip_tags()
вызова без предварительного экранирования, например, с помощью
django.utils.html.escape()
.
CVE-2019-14234: возможность внедрения SQL при поиске по ключу и индексу для JSONField
/ HStoreField
¶
Key and index lookups
for
JSONField
и for
подвергались SQL-инъекции с использованием специально созданного словаря с расширением словаря, как передано в .key lookups
HStoreField
**kwargs
QuerySet.filter()
CVE-2019-14235: потенциальная нехватка памяти в django.utils.encoding.uri_to_iri()
¶
Если переданы определенные входные данные, это django.utils.encoding.uri_to_iri()
может привести к значительному использованию памяти из-за чрезмерной рекурсии при повторном процентном кодировании недопустимых последовательностей октетов UTF-8.
uri_to_iri()
теперь избегает рекурсии при повторном процентном кодировании недопустимых последовательностей октетов UTF-8.