Django Software Foundationは、影響を受けるシステム上でリモート攻撃者がSQLインジェクション攻撃およびサービス拒否(DoS)攻撃を実行できる可能性がある2件の脆弱性に対処する、重要なセキュリティアップデートをリリースした。
Python製Webフレームワークとして最も広く利用されているものの1つであるDjangoは、エンタープライズプラットフォームやAPI、コンテンツ管理システムなど、世界中の数百万のWebアプリケーションを支えている。
複数のDjangoバージョンが脆弱性の影響を受ける。対象には4.2、5.1、5.2、および6.0 betaが含まれる。
脆弱性の概要
CVE-2025-64459
SQLインジェクションの脆弱性(CVE-2025-64459)を悪用すると、攻撃者はバックエンドのデータベースクエリに任意のSQLコマンドを注入できる可能性がある。
この欠陥は、DjangoのQuerySetメソッドであるfilter()、exclude()、およびget()、ならびにQ()クラスに確認された。
この問題は、これらのコンポーネントが、辞書展開を伴う_connectorキーワード引数を使って、特別に細工されたPython辞書を処理する際に発生する。
これにより、不正なデータアクセスやデータ改ざん、さらにはデータベース全体の侵害に至る可能性がある。
CVE-2025-64458
2件目の欠陥であるCVE-2025-64458は、Windowsに固有のサービス拒否の脆弱性で、中程度の深刻度と評価されている。
この脆弱性は、フレームワークのHttpResponseRedirectおよびHttpResponsePermanentRedirect関数を標的とする。両関数は、Windows上のPythonでNFKC正規化の処理が遅いことに起因する脆弱性を抱えている。
攻撃者は、Unicode文字を極めて大量に含む入力を送信してこの弱点を悪用でき、CPU使用率とメモリ消費量を過度に増大させる可能性がある。
その結果として処理が遅延し、サービス拒否状態に陥ることで、正規のユーザーが一時的にアプリケーションへアクセスできなくなる可能性がある。
この脆弱性はWebサービスの妨害に利用される可能性があり、特にWindowsサーバー上でDjangoアプリケーションを運用する組織にとって脅威となる。
これらの脆弱性は、基盤となるフレームワークにかかわらず、Webアプリケーションを運用するすべての組織にとって、多層防御戦略が重要であることを浮き彫りにしている。
パッチ適用にとどまらない緩和策
パッチ適用は不可欠だが、組織は全体的なセキュリティ態勢を強化し、同様の攻撃が成功する可能性を最小限に抑えるため、追加の防御策も実施すべきである。
パッチ適用以外の追加の緩和策には、次のようなものがある。
- すべてのユーザー入力をサニタイズすることで、悪意あるインジェクションを防止する。生のSQL文を手作業で組み立てるのではなく、パラメータ化クエリとDjango組み込みのORM機能を正しく使用する。
- 導入すべきWebアプリケーションファイアウォール(WAF)を使い、SQLエンドポイントを標的とする不審なトラフィックや、リソース枯渇を引き起こすパターンをフィルタリングしてブロックする。
- データベース権限を強化するため、Webアプリケーションのサービスアカウントに付与する権限を、機能の実行に必要な最小限にとどめる。
- アプリケーション層でレート制限を有効にすることで、特にリダイレクトやUnicodeを大量に含む入力を処理するエンドポイントにおけるDoS悪用のリスクを低減する。
- クエリのパフォーマンスとログを監視することで、データベース応答の遅延、エラーコードの繰り返し、予期しないUnicodeペイロードなどの異常を検出する。
- 入力検証ロジックを定期的に見直し、テストすることで、自動スキャンツールを使って潜在的なインジェクションポイントを特定する。
- アプリケーションコンポーネントを分離するためにコンテナ化やサンドボックス化を行い、1つのサービスへの攻撃がシステム全体に連鎖しないようにする。
多層的なセキュリティを実装することで、組織はサイバーレジリエンスを高められる。
CVE-2025-64459とCVE-2025-64458の公表は、現代のフレームワークにおいても従来型のWeb脆弱性が依然として重要であることを改めて示している。
今回のDjangoの事例は、セキュリティが継続的に取り組むべき課題であり、効果的な保護には重要なWebシステムの一貫した保守、迅速なアップデート、継続的な監視が欠かせないことを浮き彫りにしている。
進化する脅威への対応に努める組織にとって、DevSecOpsツールを活用することは、開発ライフサイクル全体にセキュリティをシームレスに組み込むうえで不可欠となっている。





