Django 发布安全更新:2.1.6、2.0.11 和 1.11.19
根据我们的安全发布策略,Django 团队发布了Django 1.11.19、Django 2.1.6 和 Django 2.0.11。这些版本解决了下面详述的安全问题。我们鼓励所有 Django 用户尽快升级。
CVE-2019-6975:中的内存耗尽django.utils.numberformat.format()
如果django.utils.numberformat.format()-- 被contrib.admin以及floatformat, filesizeformat和intcomma模板过滤器使用 -- 收到一个Decimal带有大量数字或大型指数,则由于调用'{:f}'.format().
可能会导致大量的内存使用。为避免此问题,现在使用科学计数法格式化超过 200 位数字的小数。
感谢 Sjoerd Job Postmus 报告此问题。
受影响的支持版本
- Django 主分支
- Django 2.2(将在今天稍后发布的单独博客文章中发布)
- Django 2.1
- Django 2.0
- Django 1.11
根据我们的支持版本策略,Django 1.10 及更早版本不再受支持。
解决方案
已将解决此问题的补丁应用于 Django 的主分支和 2.2、2.1、2.0 和 1.11 发布分支。可以从以下变更集中获取补丁
已发布以下版本:
- Django 1.11.19(下载 Django 1.11.19 | 1.11.19 校验和)
- Django 2.0.11(下载 Django 2.0.11 | 2.0.11 校验和)
- Django 2.1.6(下载 Django 2.1.6 | 2.1.6 校验和)
更新:打包错误影响了这些版本。请使用 Django 1.11.20(下载 Django 1.11.20 | 1.11.20 校验和)、Django 2.0.13(下载 Django 2.0.13 | 2.0.13 校验和)或 Django 2.1.7(下载 Django 2.1.7 | 2.1.7 校验和)或更高版本。
这些版本使用的 PGP 密钥 ID 为 Carlton Gibson:E17DF5C82B4F9D00。
关于安全报告的常规说明
与往常一样,我们请求通过私人电子邮件向security@djangoproject.com报告潜在的安全问题,而不是通过 Django 的 Trac 实例或 django-developers 列表。请参阅我们的安全策略以获取更多信息。