Django 发布安全更新:2.1.6、2.0.11 和 1.11.19

作者:Carlton Gibson 发表于 2019年2月11日

根据我们的安全发布策略,Django 团队发布了Django 1.11.19Django 2.1.6Django 2.0.11。这些版本解决了下面详述的安全问题。我们鼓励所有 Django 用户尽快升级。

CVE-2019-6975:中的内存耗尽django.utils.numberformat.format()

如果django.utils.numberformat.format()-- 被contrib.admin以及floatformat, filesizeformatintcomma模板过滤器使用 -- 收到一个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.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 列表。请参阅我们的安全策略以获取更多信息。

返回顶部