# Django 5.2.9 ドキュメント

# Django 5.2.2 リリースノート

2025年6月4日

Django 5.2.2 では、 5.2.1 における深刻度 "low" のセキュリティの問題1件と、いくつかのバグを修正しました。

## CVE-2025-48432: エスケープされていないリクエストのパスを通じた潜在的なログインジェクション

内部の HTTP レスポンスのロギングでは `request.path` を直接使用しており、制御文字（例：改行や ANSI エスケープシーケンス）がエスケープされないままログに書き込まれる可能性がありました。これによりログインジェクションや偽造が可能となり、特に外部システムで処理されるログや端末で表示されるログにおいて、攻撃者がログの見た目や構造を操作できてしまうおそれがありました。

これは Django のセキュリティモデルに直接影響を与えるものではありませんが、ログが他のツールで取り込まれたり解釈されたりする場合にリスクを伴います。これを修正するため、内部の `django.utils.log.log_response()` 関数は、安全なエンコーディングを用いてすべての位置指定のフォーマット引数をエスケープするようになりました。

## バグ修正

- `CompositePrimaryKey` を持つモデルに由来する `ForeignObject` に対して `select_related` を使用した際に発生していたクラッシュを修正しました（#36373）。

- Django 5.2 において、 `"pk"` を使用して `CompositePrimaryKey` を持つモデルを参照するサブクエリで、選択された列数が多すぎるまたは少なすぎる場合に `ValueError` が発生しなかったバグを修正しました（#36392）。

- Django 5.2 において、 `QuerySet.union()` に引数が渡されなかった場合にクラッシュが発生するリグレッションを修正しました（#36388）。

- Django 5.2 において、 `process_request()` をオーバーライドしている `RemoteUserMiddleware` のサブクラスがサポートされなくなっていたリグレッションを修正しました（#36390）。

- Django 5.2 において、 `Aggregate` 式の `filter` 引数内で `OuterRef` を使用した際にクラッシュが発生するリグレッションを修正しました（#36404）。

- Django 5.2 において、PostgreSQL の集約関数 `ArrayAgg`, `StringAgg` および `JSONBAgg` 内で `OuterRef` を使用した際にクラッシュが発生するリグレッションを修正しました（#36405）。

- Django 5.2 において、管理サイトの `filter_horizontal` ボタンに `type="button"` が指定されていなかったため、Enter キーを押した際にフォーム送信が妨げられるリグレッションを修正しました（#36423）。

- Django 5.2 において、 `CompositePrimaryKey` を持つモデルで `id_list` 引数を指定して `QuerySet.in_bulk()` を呼び出した際に、データベースのパラメータ制限が考慮されていなかったバグを修正しました（#36416）。

- Django 5.2 において、 `HttpRequest.get_preferred_type()` が `Accept` ヘッダー内のメディアタイプパラメータを考慮しておらず、コンテンツネゴシエーションの特異性が低下していたバグを修正しました（#36411）。

- Django 5.2 において、外部キーの参照先サブクラスに対して `Prefetch` の `QuerySet` を用いて外部キーをプリフェッチするために `QuerySet.prefetch_related()` を使用するとクラッシュしていたリグレッションを修正しました（ #36432 ）。