# Django 5.2.9 ドキュメント

# Django 5.1.1 リリースノート

2024年9月3日

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

## CVE-2024-45230: `django.utils.html.urlize()` におけるサービス拒否（DoS）の脆弱性の可能性

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

## CVE-2024-45231: パスワードリセット時のレスポンスステータスによるユーザーのメールアドレス列挙の可能性

メール送信の失敗が適切に処理されておらず、 `PasswordResetForm` クラスは、リモート攻撃者がパスワードリセットリクエストを送信し、その結果を観察することでユーザーのメールアドレスを列挙できる状態になっていました。

このリスクを軽減するために、パスワードリセットメール送信中に発生する例外は、 django.contrib.auth ロガーを使用して処理され、ログに記録されるようになりました。

## バグ修正

- Django 5.1 におけるリグレッションが修正されました。具体的には、`Window()` に空のシーケンスを `order_by` パラメータとして渡した場合のクラッシュ、および順序指定のないスライスされたクエリセットを `Prefetch()` に渡した場合のクラッシュが修正されました (#35665)。

- Django 5.1 のリグレッションが修正されました。このリグレッションでは、新しい `usable_password` フィールドが `BaseUserCreationForm` （およびその子クラス）に含まれていました。このフィールドを管理画面での使用に限定するため、新たに `AdminUserCreationForm` が追加されました。この修正により、機能が本来意図されていた管理画面に隔離されました (#35678)。

- `Model.save()` および `Model.asave()` における非推奨警告の `stacklevel` が調整され、問題のある呼び出し箇所を正確に指すようになりました (#35060)。

- `FileSystemStorage` で `OS_OPEN_FLAGS` を使用した際の非推奨警告における `stacklevel` が調整され、問題のある呼び出し箇所を正確に指すようになりました (#35326)。

- `FieldCacheMixin.get_cache_name()` における非推奨警告の `stacklevel` が調整され、問題のある呼び出し箇所を正確に指すようになりました (#35405)。

- Django 5.1 におけるリグレッションが修正され、PostgreSQL バックエンドの `init_connection_state` メソッド内で使用されるタイムゾーンおよびロール設定の動作をオーバーライドできる機能が復元されました (#35688)。

- Django 5.1 において、管理画面のフィールドセットをレンダリングする際に変数の参照エラーがログに記録されていたバグが修正されました (#35716)。