2024年7月9日
Django 4.2.14では、4.2.13における2件の深刻度 "moderate" のセキュリティ問題と2件の深刻度 "low" のセキュリティ問題が修正されています。
django.utils.html.urlize() における潜在的なサービス拒否(DoS)脆弱性¶urlize および urlizetrunc は、非常に多くの括弧を含む特定の入力によって、潜在的なサービス拒否攻撃の対象となる可能性がありました。
authenticate() メソッドは、使用できないパスワードを持つユーザーに対するログインリクエストを通じて、タイミング攻撃を利用したユーザー名の列挙をリモートの攻撃者に許していました。
Storage.save() を介した潜在的なディレクトリトラバーサル¶Storage 基底クラスの派生クラスが、親クラスに存在するファイルパス検証を再実装せずに generate_filename() をオーバーライドした場合、save() を呼び出す際に、特定の入力によって潜在的なディレクトリトラバーサルが発生する可能性がありました。
組み込みの Storage サブクラスは、この脆弱性の影響を受けませんでした。
get_supported_language_variant() における潜在的なサービス拒否(DoS)脆弱性¶get_supported_language_variant() は、特定の文字を含む非常に長い文字列で使用された場合、潜在的なサービス拒否攻撃の対象となる可能性がありました。
この脆弱性を緩和するために、 get_supported_language_variant() に渡される言語コードは、現在最大500文字まで解析されるようになりました。
言語コードが500文字を超える場合、strict が True の場合、または汎用バリアントが存在せず strict が False の場合には、現在 ValueError が発生するようになりました。
7月 02, 2025