Django 3.0.3 版本发行说明

2020 年 2 月 3 日

Django 3.0.3 修复了 3.0.2 版本中的一个安全问题和多个错误。

CVE-2020-7471: 通过 StringAgg(delimiter) 可能存在 SQL 注入风险。

StringAgg 聚合函数存在 SQL 注入风险,使用适当构造的 delimiter

漏洞修复

  • 修复了 Django 3.0 中的一个回归问题,该问题导致在从 Subquery() 注释中减去 DateFieldDateTimeFieldTimeField 时崩溃 (#31133)。
  • 修复了 Django 3.0 中的一个回归问题,该问题导致如果查询集中包含聚合和 Exists() 注释,那么 QuerySet.values()values_list() 会崩溃 (#31136)。
  • 在 Django 3.0 中放宽了系统检查,允许在 LANGUAGE_CODE 设置中使用子语言,当 Django 中有基本语言可用但子语言不可用时 (#31141)。
  • 添加了在模板中使用枚举类型 TextChoicesIntegerChoicesChoices 的支持 (#31154)。
  • 修复了一个系统检查,以确保当一个命名组只包含非字符串值时,max_length 属性适合最长的选择 (#31155)。
  • 修复了 Django 2.2 中的一个回归问题,当在 Subquery 中使用带有 filter 参数的 ArrayAggStringAgg 时导致崩溃 (#31097)。
  • 修复了 Django 2.2.7 中的一个回归问题,当覆盖继承的选择项时,导致 get_FOO_display() 不正确工作 (#31124)。
  • 修复了 Django 3.0 中的一个回归问题,该问题导致在具有自定义 ContentType 外键的 GenericForeignKey 上使用 QuerySet.prefetch_related() 时崩溃 (#31190)。
Back to Top