# Django 5.2.9 ドキュメント

# Django 5.0.7 リリースノート

2024年7月9日

Django 5.0.7 では、5.0.6 における2件の深刻度 "moderate" のセキュリティ問題、2件の深刻度 "low" のセキュリティ問題、そして1件のバグが修正されています。

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

`urlize` および `urlizetrunc` は、非常に多くの括弧を含む特定の入力によって、潜在的なサービス拒否攻撃の対象となる可能性がありました。

## CVE-2024-39329: 使用できないパスワードを持つユーザーに対するタイミング差を利用したユーザー名列挙

The `authenticate()` method allowed remote attackers to enumerate users via a timing attack involving login requests for users with unusable passwords.

## CVE-2024-39330: `Storage.save()` を介した潜在的なディレクトリトラバーサル

`Storage` 基底クラスの派生クラスが、親クラスに存在するファイルパス検証を再実装せずに `generate_filename()` をオーバーライドした場合、`save()` を呼び出す際に、特定の入力によって潜在的なディレクトリトラバーサルが発生する可能性がありました。

組み込みの `Storage` サブクラスは、この脆弱性の影響を受けませんでした。

## CVE-2024-39614: `get_supported_language_variant()` における潜在的なサービス拒否（DoS）脆弱性

`get_supported_language_variant()` は、特定の文字を含む非常に長い文字列で使用された場合、潜在的なサービス拒否攻撃の対象となる可能性がありました。

この脆弱性を緩和するために、 `get_supported_language_variant()` に渡される言語コードは、現在最大500文字まで解析されるようになりました。

言語コードが500文字を超える場合、`strict` が `True` の場合、または汎用バリアントが存在せず `strict` が `False` の場合には、現在 `ValueError` が発生するようになりました。

## バグ修正

- Django 5.0 で、`GeneratedField` を持ち、特定の `Meta.constraints` が定義されている未保存のモデルインスタンスに対して `Model.full_clean()` を実行するとクラッシュするバグを修正しました (#35560)。