Multiple Django Flaws Could Allow SQL Injection and Denial-of-Service Attacks
2025/11/06 gbhackers — Django 開発チームが公開したのは、アプリケーションに影響を及ぼすサービス拒否 (DoS)/SQL インジェクション攻撃などの2件の重大な脆弱性 CVE-2025-64458/CVE-2025-64459 に関する情報である。すでに Django は、2025年11月5日の時点でのセキュリティ・パッチをリリースし、影響を受けるバージョン 5.2.8/5.1.14/4.2.26 に対処している。

公開された2件の脆弱性は、デプロイ済み Django アプリケーションに応じて、異なるレベルのリスクをもたらす可能性がある。SQL インジェクション脆弱性 CVE-2025-64459 (CVSS:9.8 High) は QuerySet 操作に影響を及ぼし、サービス拒否 (DoS) 脆弱性 CVE-2025-64458 (CVSS:5.3 Moderate) は Windows ベースのインストール環境に影響する。
Django 開発者にとって必要なことは、デプロイ済みアプリケーションをパッチ適用版へと優先して更新することだ。
| CVE ID | Vulnerability | Severity | CVSS Score | Affected Versions |
|---|---|---|---|---|
| CVE-2025-64458 | DoS via HttpResponseRedirect/HttpResponsePermanentRedirect on Windows | Moderate | 5.3 | Django 4.2, 5.1, 5.2, 6.0 (beta) |
| CVE-2025-64459 | SQL Injection via _connector Keyword Argument in QuerySet | High | 9.8 | Django 4.2, 5.1, 5.2, 6.0 (beta) |
SQL インジェクションの脆弱性
深刻な脆弱性 CVE-2025-64459 は、Django の QuerySet フィルタリング操作に影響を及ぼす。
セキュリティ研究者たちが発見したのは、_connector 引数に辞書のアンパックを含む細工済みの辞書が渡されたケースにおいては、QuerySet.filter()/QuerySet.exclude()/QuerySet.get()/Q() クラスが SQL インジェクションに晒されることだ。
この脆弱性を悪用する攻撃者は、データベース・クエリに悪意の SQL コマンドを注入し、データの不正取得/改ざん/削除などを可能にする。
脆弱性 CVE-2025-64459 の悪用は容易であり、日常的に QuerySet 操作を使用する開発者が、信頼できないユーザー入力を適切に検証せずに処理していると、SQL インジェクション脆弱性を誘発する可能性がある。
さらに、この欠陥を悪用する攻撃者は、アプリケーションのセキュリティ制御を回避し、基盤となるデータベースに対して任意の SQL コマンドを直接実行できるため、本番環境において深刻な懸念が生じる。
サービス拒否 ( DoS ) の脆弱性
脆弱性 CVE-2025-64458 は、Windows プラットフォーム上の HttpResponseRedirect/HttpResponsePermanentRedirect 関数に影響を及ぼすサービス拒否 (DoS) の欠陥である。
この脆弱性の原因は、Python における NFKC Unicode 正規化処理の非効率性にあり、大量の Unicode 文字を含む入力を処理する際に問題が生じる。過剰な Unicode データを含むリクエストを送信する攻撃者は、正規化プロセスに多大なシステム・リソースを消費させ、アプリケーションを応答不能にできる。
この脆弱性は Moderate に分類されているが、悪用が成功するとサービス可用性が損なわれるため、Windows 環境に導入された Django アプリケーションの管理者は引き続き警戒を怠らないでほしい。なお、この攻撃は認証を必要とせずにリモートから実行可能であるため、リモートの攻撃者にとって有効な攻撃経路になる。
これらの脆弱性に対処するパッチは、開発版メインブランチや Django 6.0 ベータ版を含む、すべての Django バージョンに適用されている。したがって、Django 4.2/5.1/5.2 を運用する組織は、パッチ適用済みリリースへと速やかに更新する必要がある。
なお、これらの脆弱性を持つバージョンは、すでに導入されている Django インストールの相当な割合を占めているため、広範な Django エコシステム全体に影響を及ぼす、重大なセキュリティ上の懸念事項となっている。
Django 2件の脆弱性が発見されました。問題の中心は、QuerySet 操作での _connector 引数処理と、Windows 環境での Unicode 正規化にあります。前者は辞書アンパックを悪用されることで、SQL コマンドが不正に注入される危険があります。後者は Python の NFKC 正規化が大量の Unicode を処理する際に過剰なリソースを消費する設計上の非効率性に起因し、結果として DoS 攻撃を引き起こします。ご利用のチームは、ご注意ください。よろしければ、Django で検索を、ご参照ください。
You must be logged in to post a comment.