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)。