2018 年 3 月 6 日
Django 1.11.11 修复了 1.11.10 中的两个安全问题。
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 模板过滤器,因此这两个过滤器也存在漏洞。
正则表达式中的回溯问题已经修复。
8月 13, 2025