Django 1.8.19发行说明

2018年3月6日

Django 1.8.19在1.18.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 模板过滤器,因此容易受到攻击。

正则表达式中的回溯问题是固定的。