2025年10月1日、Djangoチームはセキュリティリリースとして Django 5.2.7 / 5.1.13 / 4.2.25 を公開しました。本アップデートでは、高深刻度のSQLインジェクション(CVE-2025-59681) と 低深刻度のディレクトリトラバーサル(CVE-2025-59682) を修正しています。サポート中の全系統(main、6.0 α、5.2、5.1、4.2)にパッチが適用済みです。該当バージョンへの更新を最優先で実施してください。
脆弱性の概要
CVE-2025-59681(High):MySQL/MariaDBでのSQLインジェクション
-
影響範囲:MySQL / MariaDB バックエンドを使用するDjangoアプリ
-
影響箇所:
QuerySet.annotate()/alias()/aggregate()/extra() -
内容:これらのメソッドに 辞書の展開(
**kwargs) で渡す 列エイリアス(別名) に細工した文字列が混入すると、SQL文が意図せず改変される可能性がありました。 -
想定される被害:データの 漏えい・改ざん・破壊、アプリの挙動不正
ポイント:エイリアス名は通常開発者が静的に指定しますが、レポートでは ユーザー入力が混入した別名 を辞書展開で渡すようなコードが悪用経路となり得ることが示されています。MySQL/MariaDBの方言・引用ルールの影響もあり、当該バックエンドで発現します。
CVE-2025-59682(Low):archive.extract() の部分的ディレクトリトラバーサル
-
影響範囲:
startapp --template/startproject --templateで利用されるdjango.utils.archive.extract() -
内容:展開先ディレクトリと同じ接頭辞を持つパス を含むアーカイブを処理した際に、意図外の場所へ一部ファイルが書き出される可能性がありました。
-
想定される被害:テンプレートが 信頼できない出所 の場合、セットアップ時にファイル上書き等のリスク
対象・修正バージョン
-
対象系統:main / 6.0(α)/ 5.2 / 5.1 / 4.2
-
リリース済み修正:
-
Django 5.2.7
-
Django 5.1.13
-
Django 4.2.25
-
※
extra()はレガシーAPIですが、既存コードで残っているケースがあるため要確認です。








