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
模板过滤器,因此这两个过滤器也存在漏洞。
正则表达式中的回溯问题已经修复。
4月 27, 2025