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