はじめに
Django開発チームは、人気のPythonウェブフレームワークの主要な3バージョンに対し、深刻なセキュリティパッチをリリースしました。これにより、アプリケーションをSQLインジェクション攻撃やサービス拒否(DoS)状態に晒す可能性のある2つの重要な脆弱性に対処しています。
2025年12月2日に発行されたこのアップデートは、Djangoバージョン5.2.9、5.1.15、および4.2.27、さらに今後のDjango 6.0リリース候補と主要な開発ブランチに影響を与えます。
高深刻度のSQLインジェクション脆弱性
一つ目の脆弱性は、CVE-2025-13372として追跡されており、PostgreSQLデータベースで使用される際にFilteredRelation機能に存在する高深刻度のSQLインジェクションの欠陥です。
セキュリティ研究者のStackered氏が発見したところによると、攻撃者は`QuerySet.annotate()`または`QuerySet.alias()`メソッドに、辞書展開を伴う特別に細工された辞書をキーワード引数として渡すことで、この脆弱性を悪用できます。この脆弱性は特にFilteredRelationのカラムエイリアスに影響し、悪意のあるアクターがデータベースクエリに任意のSQLコードを注入することを可能にします。これにより、影響を受けるPostgreSQL上で動作するDjangoアプリケーション内のデータへの不正なアクセス、改変、または削除が行われる可能性があります。
中深刻度のサービス拒否(DoS)問題
二つ目の脆弱性であるCVE-2025-64460は、DjangoのXMLシリアライゼーション機能における中深刻度のサービス拒否(DoS)の脅威をもたらします。セキュリティ研究者のSeokchan Yoon氏が、`django.core.serializers.xml_serializer.getInnerText()`関数におけるアルゴリズムの複雑性の問題を発見しました。
攻撃者は、特別に細工されたXML入力をXMLデシリアライザーを呼び出すサービスに送信することで、この脆弱性を悪用できます。再帰的なテキストノード収集中の繰り返し行われる文字列連結操作によって超線形な計算複雑性が生じ、過剰なCPUとメモリの消費につながります。これにより、サービス性能の低下や完全なサービス停止が発生する可能性があります。
影響とパッチ
これらの脆弱性は、Django 4.2、5.1、5.2、および今後の6.0リリース候補を含む、現在サポートされている全てのDjangoバージョンに影響を与えます。
Djangoセキュリティチームは、GitHub上の全ての afectadasブランチに対しパッチを公開しており、更新されたバージョンは公式のDjangoウェブサイトからダウンロード可能です。今回のアップデートは、Natalia Bidart氏に属するPGPキーID 2EE82A8D9470983Eで署名されています。
元記事: https://gbhackers.com/multiple-django-vulnerability-expose-applications-to-sql-injection/
