Django 安全版本发布:2.0.3、1.11.11 和 1.8.19
根据 我们的安全版本发布策略,Django 团队发布了 Django 1.8.19、Django 1.11.11 和 Django 2.0.3。这些版本解决了下面详细说明的安全问题。我们鼓励所有 Django 用户尽快升级。
CVE-2018-7536:中的拒绝服务漏洞urlize和urlizetrunc模板过滤器
该django.utils.html.urlize()函数由于两个正则表达式(Django 1.8 中的一个正则表达式)中的灾难性回溯漏洞,导致在评估某些输入时速度极慢。该urlize()函数用于实现urlize和urlizetrunc模板过滤器,因此这些过滤器也存在漏洞。
感谢 James Davis 报告此问题。
CVE-2018-7537:中的拒绝服务漏洞truncatechars_html和truncatewords_html模板过滤器
如果django.utils.text.Truncator的chars()和words()方法传递了html=True参数,则由于正则表达式中的灾难性回溯漏洞,导致在评估某些输入时速度极慢。该chars()和words()方法用于实现truncatechars_html和truncatewords_html模板过滤器,因此这些过滤器也存在漏洞。
感谢 James Davis 报告此问题。
受影响的支持版本
- Django 主分支
- Django 2.0
- Django 1.11
- Django 1.8
根据我们的 支持版本策略,Django 1.10、1.9 和 Django 1.7 及更早版本不再受支持。
解决方案
已将解决此问题的补丁应用于 Django 的主分支和 2.0、1.11 和 1.8 发布分支。可以从以下更改集中获取补丁
在开发主分支上
在 2.0 发布分支上
在 1.11 发布分支上
在 1.8 发布分支上
已发布以下版本
- Django 1.8.19 (下载 Django 1.8.19 | 1.8.19 校验和)
- Django 1.11.11 (下载 Django 1.11.11 | 1.11.11 校验和)
- Django 2.0.3 (下载 Django 2.0.3 | 2.0.3 校验和)
这些版本使用的 PGP 密钥 ID 为 Tim Graham:1E8ABDC773EDE252。
关于安全报告的常规说明
与往常一样,我们要求通过私人电子邮件向security@djangoproject.com报告潜在的安全问题,而不是通过 Django 的 Trac 实例或 django-developers 列表报告。请参阅 我们的安全策略 以获取更多信息。