Critical Django Flaw Allows DoS and SQL Injection Attacks
2026/02/04 gbhackers — Django Software Foundation が公開したのは、広く利用されている Python Web フレームワークである Django の複数バージョンに影響する、6 件の深刻な脆弱性に対処するための緊急セキュリティ・パッチである。2026年2月3日にリリースされた更新は、SQL インジェクション攻撃の実行/サービス拒否 (DoS) 状態の発生/ユーザー・アカウントの列挙などを、攻撃者に対して許す可能性のある深刻な欠陥を修正するものである。Django は、Instagram/Mozilla/Bitbucket などの主要プラットフォームを支える、オープンソースの Python Web フレームワークである。

このフレームワークは、Model-Template-View アーキテクチャ・パターンに従った設計による、迅速なアプリケーション開発を重視しているため、データベース駆動型 Web サイト構築において人気を博している。今回のセキュリティ・リリースでは、現時点でサポート対象となっている全バージョン向けに、Django 6.0.2/5.2.11/4.2.28 が提供されている。
Django のセキュリティ・ポリシーによると、6 件の脆弱性のうち 3 件は High、2 件は Medium、1 件は Low に分類されている。すべてのユーザーに対して Django チームが強く推奨するのは、即時アップグレードによる、悪用の可能性の防止である。
深刻な SQL インジェクション脆弱性
Django のデータベース処理機構において確認された中には、3 件の深刻度 High の SQL インジェクション欠陥がある。
CVE-2026-1207 は、PostGIS 上で実装された GIS フィールドのラスタ検索に影響し、信頼されていないデータがバンド・インデックスとして使用された場合に、悪意の SQL コードの注入が可能となる。PostGIS のラスタ機能は、PostgreSQL における空間ラスタ・データの保存および検索を可能にするものだ。
CVE-2026-1287 は、FilteredRelation を用いて annotate()/aggregate()/values() などの QuerySet メソッドに細工された辞書を渡した場合に、制御文字を含むカラム・エイリアスを介した SQL インジェクションを引き起こす。
さらに CVE-2026-1312 は、ピリオドを含むカラム・エイリアスを FilteredRelation 操作と組み合わせて QuerySet.order_by() を使用する際に、SQL インジェクションを引き起こす可能性がある。
| CVE ID | Vulnerability Type | Severity | Affected Component | CVSS Score |
|---|---|---|---|---|
| CVE-2025-13473 | Username Enumeration via Timing Attack | Low | mod_wsgi Authentication Handler | N/A |
| CVE-2025-14550 | Denial-of-Service via Duplicate Headers | Moderate | ASGI Request Handler | N/A |
| CVE-2026-1207 | SQL Injection via Raster Lookups | High | PostGIS GIS Fields | N/A |
| CVE-2026-1285 | Denial-of-Service in HTML Truncation | Moderate | django.utils.text.Truncator | N/A |
| CVE-2026-1287 | SQL Injection in Column Aliases | High | FilteredRelation QuerySet | N/A |
| CVE-2026-1312 | SQL Injection via order_by() | High | QuerySet.order_by() | N/A |
最新リリースでは、2 件の深刻度 Medium のサービス拒否脆弱性も修正されている。CVE-2025-14550 は、非同期 Web リクエストを処理する、Django の ASGI 実装に影響を及ぼすものだ。ASGIRequest による HTTP ヘッダの重複処理を悪用する攻撃者は、文字列連結の繰り返しによる非効率な計算処理を引き起こし、サービス性能を低下させる可能性を得る。
最後の脆弱性 CVE-2025-13473 は、深刻度が Low と評価されている。mod_wsgi 認証を用いる Django アプリケーションへの、標的型クレデンシャル・スタッフィング攻撃が、この脆弱性により助長される可能性がある。
これらの脆弱性は、開発中のメイン・ブランチを含む Django 6.0/5.2/4.2 系列のすべてに影響する。
すでに Django Software Foundation は、サポート対象の全ブランチ向けに、修正パッチを公開しており、各脆弱性に対応する GitHub コミットも提供している。システム管理者にとって必要なことは、修正済みバージョンへの速やかなアップグレードである、また、安全なデータベース操作のために、すべての信頼されていないユーザー入力が、適切にサニタイズされていることを確認すべきである。
本番環境で Django を使用している組織において、特に PostGIS 機能や FilteredRelation クエリが利用されている場合には、深刻度 High の SQL インジェクション脆弱性への対応を最優先とすべきである。ASGI デプロイに影響するサービス拒否の脆弱性についても、高トラフィック環境では業務妨害を受ける可能性があるため、早急な対応が求められる。
Django の一連の問題は、データベースとのやり取りや、通信データの処理における、情報の受け取り方の不備にあります。これらの問題の原因は、システムが自動で付けるべき名前や、数値であるべきデータの中に、外部から送られてきた悪意の命令が紛れ込んでしまう点にあります。具体的には、入力された文字を十分にチェックせずに、データベースへの命令 (SQL) として実行してしまい、情報の盗み見や改ざんができる状態になっていました。ご利用のチームは、ご注意ください。よろしければ、Django での検索結果も、ご参照ください。
You must be logged in to post a comment.