已发布 Django 安全版本:4.0.1、3.2.11 和 2.2.26

作者:Carlton Gibson 发表于 2022年1月4日

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

CVE-2021-45115:中的拒绝服务可能性UserAttributeSimilarityValidator

UserAttributeSimilarityValidator评估提交的密码(相对于比较值而言人为地很大)会产生很大的开销。假设可以无限制地访问用户注册,这为拒绝服务攻击提供了一种潜在的途径。

为了减轻这个问题,现在忽略了相对较长的值UserAttributeSimilarityValidator.

感谢 Chris Bailey 的报告。

根据 Django 安全策略,此问题的严重性为“中等”。

CVE-2021-45116:中的潜在信息泄露dictsort模板过滤器

由于利用了 Django 模板语言的变量解析逻辑,dictsort模板过滤器如果传递了合适的密钥,则可能容易受到信息泄露或意外方法调用的攻击。

为了避免这种可能性,dictsort现在使用受限的解析逻辑,不会调用方法,也不会允许对字典进行索引。

提醒一下,所有不受信任的用户输入都应在使用前进行验证。

感谢 Dennis Brinkrolf 的报告。

根据 Django 安全策略,此问题的严重性为“低”。

CVE-2021-45452:通过潜在的目录遍历Storage.save()

Storage.save()如果直接传递了合适的构造的文件名,则允许目录遍历。

感谢 Dennis Brinkrolf 的报告。

根据 Django 安全策略,此问题的严重性为“低”。

受影响的支持版本

  • Django 主分支
  • Django 4.0
  • Django 3.2
  • Django 2.2

解决方案

已将解决此问题的补丁应用于 Django 的主分支和 4.0、3.2 和 2.2 版本分支。补丁可从以下更改集获取。

CVE-2021-45115

CVE-2021-45116

CVE-2021-45452

已发布以下版本

这些版本使用的 PGP 密钥 ID 为 Carlton Gibson:E17DF5C82B4F9D00

关于安全报告的常规说明

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

返回顶部