概要
Django の FilteredRelation にSQLインジェクションの脆弱性が存在します。カラムエイリアスに制御文字を含む辞書を **kwargs として QuerySet.annotate()、aggregate()、extra()、values()、values_list()、alias() に渡すことで、SQLインジェクションが可能です。Django 6.0.2 / 5.2.11 / 4.2.28で修正されています。
CVSSベクトル
| 項目 | 値 |
|---|---|
| CVSSスコア | CVSS v4 Critical |
| 攻撃元区分 | ネットワーク |
| 攻撃条件の複雑さ | 低 |
| 必要な特権 | 不要 |
| ユーザー関与 | 不要 |
| CWE | CWE-89(SQLインジェクション) |
影響を受けるソフトウェア
| 製品 | ベンダー | 影響バージョン |
|---|---|---|
| Django | Django Software Foundation | 6.0〜6.0.1, 5.2〜5.2.10, 4.2〜4.2.27 |
修正バージョンと回避策
- 修正: Django 6.0.2 / 5.2.11 / 4.2.28
- 回避策: 外部入力をFilteredRelationのカラムエイリアスに直接渡さないようにする
関連リンク
データソース: NVD (NIST), GitHub Advisory Database AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
