Django 5.1.10 リリースノート

2025年6月4日

Django 5.1.10 では、 5.1.9 における深刻度 "low" のセキュリティ問題を修正しました。

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

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

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