Django 安全版本发布:2.0.3、1.11.11 和 1.8.19

作者:Tim Graham 发布于 2018年3月6日

根据 我们的安全版本发布策略,Django 团队发布了 Django 1.8.19Django 1.11.11Django 2.0.3。这些版本解决了下面详细说明的安全问题。我们鼓励所有 Django 用户尽快升级。

CVE-2018-7536:中的拒绝服务漏洞urlizeurlizetrunc模板过滤器

django.utils.html.urlize()函数由于两个正则表达式(Django 1.8 中的一个正则表达式)中的灾难性回溯漏洞,导致在评估某些输入时速度极慢。该urlize()函数用于实现urlizeurlizetrunc模板过滤器,因此这些过滤器也存在漏洞。

感谢 James Davis 报告此问题。

CVE-2018-7537:中的拒绝服务漏洞truncatechars_htmltruncatewords_html模板过滤器

如果django.utils.text.Truncatorchars()words()方法传递了html=True参数,则由于正则表达式中的灾难性回溯漏洞,导致在评估某些输入时速度极慢。该chars()words()方法用于实现truncatechars_htmltruncatewords_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 发布分支上

已发布以下版本

这些版本使用的 PGP 密钥 ID 为 Tim Graham:1E8ABDC773EDE252。

关于安全报告的常规说明

与往常一样,我们要求通过私人电子邮件向security@djangoproject.com报告潜在的安全问题,而不是通过 Django 的 Trac 实例或 django-developers 列表报告。请参阅 我们的安全策略 以获取更多信息。

返回顶部