Примечания к выпуску Django 2.1.11

1 августа 2019 г.,

Django 2.1.11 исправляет проблемы безопасности в 2.1.10.

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.

Copyright ©2020 All rights reserved