2018年3月6日
Django 1.8.19 では、1.18.18 にあった2つのセキュリティの問題を修正しました。
urlize と urlizetrunc テンプレートフィルタにおける DoS 攻撃の可能性¶The django.utils.html.urlize() function was extremely slow to evaluate
certain inputs due to a catastrophic backtracking vulnerability in a regular
expression. The urlize() function is used to implement the urlize and
urlizetrunc template filters, which were thus vulnerable.
The problematic regular expression is replaced with parsing logic that behaves similarly.
truncatechars_html and truncatewords_html template filters¶If django.utils.text.Truncator's chars() and words() methods were
passed the html=True argument, they were extremely slow to evaluate certain
inputs due to a catastrophic backtracking vulnerability in a regular
expression. The chars() and words() methods are used to implement the
truncatechars_html and truncatewords_html template filters, which were
thus vulnerable.
The backtracking problem in the regular expression is fixed.
4月 02, 2025