2018年3月6日
Django 1.8.19在1.18.18中修复了两个安全问题。
urlize
和 urlizetrunc
模板筛选器¶这个 django.utils.html.urlize()
由于正则表达式中存在灾难性的回溯漏洞,函数在评估某些输入时非常慢。这个 urlize()
函数用于实现 urlize
和 urlizetrunc
模板过滤器,因此容易受到攻击。
有问题的正则表达式被行为类似的解析逻辑所取代。
truncatechars_html
和 truncatewords_html
模板筛选器¶如果 django.utils.text.Truncator
的 chars()
和 words()
方法已通过 html=True
理由是,由于正则表达式中存在灾难性的回溯漏洞,它们在评估某些输入时非常慢。这个 chars()
和 words()
方法用于实现 truncatechars_html
和 truncatewords_html
模板过滤器,因此容易受到攻击。
正则表达式中的回溯问题是固定的。
7月 22, 2024