Django 3.0.3 リリースノート¶
2020年2月3日
Django 3.0.3 では、3.0.2 にあった1つのセキュリティの問題といくつかのバグを修正しました。
CVE-2020-7471: StringAgg(delimiter)
を通じた潜在的 SQL インジェクション¶
StringAgg
集計関数には、適切に加工された delimiter
を使った SQL インジェクションが存在しました。
Bugfixes¶
Subquery()
アノテーションからDateField
、DateTimeField
、あるいはTimeField
を抽出したときにクラッシュするという Django 3.0 のリグレッションを修正しました (#31133)。- クエリセットに集計か
Exists()
アノテーションが含まれる場合に、QuerySet.values()
とvalues_list()
がクラッシュするという Django 3.0でのリグレッションを修正しました (#31136)。 - Django にベース言語があるがサブ言語がない場合でも、
LANGUAGE_CODE
のサブ言語を利用できるように Django 3.0 で追加されたシステムチェックの設定を緩めました (#31141)。 - テンプレートで列挙型
TextChoices
、IntegerChoices
、そしてChoices
が使えるようになりました (#31154)。 - 名前付きグループが非文字列の値しか含まない場合でも
max_length
属性が最長の選択に合致するようなチェックを修正しました (#31155)。 Subquery
を利用した際、filter
引数のあるArrayAgg
とStringAgg
がクラッシュする Django 2.2 のリグレッションを修正しました (#31097)。- 継承された選択をオーバーライドしたときに
get_FOO_display()
が正しく動かなくなる Django 2.2.7 のリグレッションを修正しました (#31124)。 - カスタム
ContentType
外部キーを持つGenericForeignKey
に対する``QuerySet.prefetch_related()`` がクラッシュする Django 3.0 のリグレッションを修正しました (#31190)。