Django 4.0.4 版本发行说明

2022 年 4 月 11 日

Django 4.0.4 修复了两个严重程度为 “高” 的安全问题和两个 4.0.3 版本中的错误。

CVE-2022-28346: QuerySet.annotate(), aggregate(), 和 extra() 存在潜在的 SQL 注入漏洞

QuerySet.annotate()aggregate()extra() 方法在列别名中存在 SQL 注入风险,如果传递给这些方法的 **kwargs 中使用了经过适当精心制作的带有字典扩展的字典。

CVE-2022-28347: 在 PostgreSQL 上通过 QuerySet.explain(**options) 存在潜在的 SQL 注入漏洞

QuerySet.explain() 方法在选项名称中存在 SQL 注入风险,如果将经过适当精心制作的字典与字典扩展作为 **options 参数传递。

漏洞修复

  • 修复了 Django 4.0 中的一个回归问题,该问题导致忽略多个到同一字段的 FilteredRelation() 关系(#33598)。
  • 修复了 Django 3.2.4 中的一个回归问题,该问题导致当 TEMPLATES 设置的 DIRS 选项包含空字符串时,自动重新加载器不再检测到更改 (#33628)。