Django 1.8.19 版本发行说明

2018 年 3 月 6 日

Django 1.8.19 修复了 1.8.18 版本中的两个安全问题。

CVE-2018-7536: urlizeurlizetrunc 模板过滤器中的拒绝服务可能性问题

由于正则表达式中的灾难性回溯漏洞,django.utils.html.urlize() 函数在评估某些输入时极其缓慢。urlize() 函数用于实现 urlizeurlizetrunc 模板过滤器,因此它们也容易受到漏洞影响。

有问题的正则表达式被替换为行为类似的解析逻辑。

CVE-2018-7537: truncatechars_htmltruncatewords_html 模板过滤器中存在拒绝服务可能性问题。

如果给 django.utils.text.Truncatorchars()words() 方法传递了 html=True 参数,由于正则表达式中的灾难性回溯漏洞,它们在处理某些输入时非常慢。chars()words() 方法用于实现 truncatechars_htmltruncatewords_html 模板过滤器,因此这两个过滤器也存在漏洞。

正则表达式中的回溯问题已经修复。