# Django 5.2.8 ドキュメント

# Django 5.0.8 リリースノート

2024年8月6日

Django 5.0.8 では、5.0.7 におけるセキュリティの問題のうち深刻度 "high" 1件、深刻度 "moderate" 3件を含め、 いくつかのバグを修正しました。

## CVE-2024-41989: `django.utils.numberformat.floatformat()` における過剰なメモリ消費

`floatformat` が指数部が大きい科学的表記の数値文字列を受け取った場合、著しいメモリ消費が発生する可能性があります。

これを避けるために、200桁を超える decimal はそのまま返されるようになりました。

## CVE-2024-41990: `django.utils.html.urlize()` における潜在的なサービス拒否（DoS）の脆弱性

`urlize` および `urlizetrunc` フィルタには、特定の文字列シーケンスを含む非常に大きな入力を介したサービス拒否（DoS）攻撃の可能性がありました。

## CVE-2024-41991: `django.utils.html.urlize()` および `AdminURLFieldWidget` における潜在的なサービス拒否（DoS）の脆弱性

`urlize`、`urlizetrunc`、および `AdminURLFieldWidget` は、非常に多くのUnicode文字を含む特定の入力を介したサービス拒否（DoS）攻撃の可能性がありました。

## CVE-2024-42005: `QuerySet.values()` および `values_list()` におけるSQLインジェクションの可能性

モデルの `JSONField` を持つ `QuerySet.values()` メソッドおよび `values_list()` メソッドは、細工されたJSONオブジェクトのキーが `*arg` として渡されることで、列エイリアスでSQLインジェクションの影響を受ける可能性がありました。

## バグ修正

- `UniqueConstraint(nulls_distinct=False)` を `*expressions` と共に使用する際にバリデーションが欠落していたため、追加しました (#35594)。

- Django 5.0 で、`ModelAdmin.action_checkbox` が `__html__` メソッドを持つモデルインスタンスをレンダリングする際に、管理画面のチェンジリストHTMLページが壊れる可能性があったリグレッションを修正しました (#35606)。

- `Field.db_default` を持つモデルを作成する際に、`__endswith`、`__startswith`、または `__contains` ルックアップで構成される `Meta.constraints` 制約が原因でクラッシュする問題を修正しました (#35625)。

- Django 5.0.7 で、500文字を超える言語コードを処理する際に `LocaleMiddleware` がクラッシュするリグレッションを修正しました (#35627)。

- Django 5.0 で、`ModelAdmin.date_hierarchy` が `DateField` または `DateTimeField` の `output_field` を持つ `GeneratedField` であった場合にシステムチェックがクラッシュするバグを修正しました (#35628)。

- Django 5.0 で、`Field.db_default` を使用するフィールドを参照する制約に対して、制約のバリデーションがクラッシュするか、誤ってバリデーションエラーを発生させる問題を修正しました (#35638)。

- Django 5.0 で、`db_default` が設定された `FileField` を含むモデルを保存する際にクラッシュする問題を修正しました (#35657)。