【高】CVE-2026-41705 Spring AIにおけるフィルター式インジェクション脆弱性対策法 MilvusVectorStore利用バイブコーダー必読の対応手順

結論
- 危険度: High (CVSS 8.6)
- 対象: (詳細はベンダーアドバイザリ参照)
- 修正: ベンダーアドバイザリ参照
- KEV: No (NVD Critical由来。CISA KEVには未登録)
タイトルの緊急度プレフィックス(【至急】【最重大】等)の意味
| 表記 | 条件 | 意味 | 対応目安 |
|---|---|---|---|
| 【至急/ランサム悪用】 | CISA KEV登録 + ランサムウェア悪用観測 | ランサムグループが現在進行形で悪用 | 本日中に対応開始 |
| 【至急/重大】 | CISA KEV登録 + CVSS 9.0以上 | 実世界で攻撃観測あり + スコア極めて高い | 本日中に対応開始 |
| 【重大/KEV登録】 | CISA KEV登録(CVSS低またはNVD未反映) | 実世界で攻撃観測あり | 数日以内 |
| 【最重大】 | CVSS 9.5以上(KEV未登録) | 理論上の危険度ほぼ満点、攻撃観測はまだない | 1週間以内に対応計画 |
| 【重大】 | CVSS 9.0〜9.4(KEV未登録) | Critical帯の理論的高リスク | 1〜2週間以内 |
| 【高】 | CVSS 7.0〜8.9(KEV未登録) | High帯のリスク | 計画的に対応 |
| (プレフィックスなし) | CVSS 7.0未満 | Medium以下のリスク | 通常メンテで対応 |
「至急」と「最重大」の違い: 「至急」は CISA(米国政府機関)が 実際に悪用を観測した CVEに付与されます。「最重大」は CVSS スコア上は最高峰だが、まだ悪用観測がない ものです。同じCVSS 9.8でもKEV登録の有無で扱いが変わります。
最終更新: 2026-05-12 | 本記事は公式情報をもとに作成しています。最新情報はベンダー公式アドバイザリを必ずご確認ください。
| STEP | やること | かかる目安 |
|---|---|---|
| STEP 1 | 何が起きているか理解する | 3分 |
| STEP 2 | 急ぎ対応すべきか判断する | 3分 |
| STEP 3 | 自分の環境が対象か確認する | 5分 |
| STEP 4 | 修正を適用する | 環境による |
| STEP 5 | 修正されたことを確認する | 3分 |
STEP 1: 何が起きているか
一言でいうと
CVE-2026-41705は、Spring AI製品のMilvusVectorStore#doDelete実装において、未検証のドキュメントIDを使ったフィルター式の注入攻撃が可能です。攻撃者は認証なしにこの欠陥を利用して、不正にデータを削除できます。LLMゲートウェイ運用者やAI開発者にとって優先して対処が必要なリスクです。
やさしく説明すると
想像してください。会社の大切なデータベースの「削除ボタン」があるとします。しかし、このボタンは押す前に「これで本当に良いか?」とチェックしません。だから、悪意のある人が変な操作を細工してボタンを押すと、重要なデータまで丸ごと消えてしまいます。この脆弱性は、まさにそんな「フィルターのチェック漏れ」が原因で発生します。
技術的な原因
本脆弱性はCWE-917「不適切な制約表現インジェクション(Improper Restriction of Rendered UI Layer)」に分類されます。特に「フィルター式注入」は、ユーザ入力が検証されずに問い合わせ条件に組み込まれることで、意図しないデータアクセスや変更を招きます。今回のケースでは、MilvusVectorStore#doDelete(List)メソッドがドキュメントIDを無加工で扱い、そのまま削除処理のフィルターに使っています。
影響を受けると何が困るか
- 認証なしでデータベースの重要なドキュメントを不正に削除される
- AIアプリケーションのRAG(Retrieval-Augmented Generation)実装で使うモデルデータの改ざんや削除に起因する応答品質の急激な低下
- LLMプロンプトやコンテキストデータが破壊され、LLM応答の正確性が損なわれるリスク
- AgentフレームワークやAI Gatewayに依存するシステムの安定性悪化
- AI駆動開発ツール(Cursor、Cline、Copilotなど)で利用するバックエンドの情報破壊による開発停止リスク
もっと詳しく調べたい人へ — 公式情報源マップ
本記事は以下の公式・準公式の情報源から内容を集約しています。一次情報を確認したい場合や英語で詳細を読みたい場合は、各リンクから直接アクセスできます。
| カテゴリ | 情報源 | 言語 | 何が分かるか | リンク |
|---|---|---|---|---|
| 総合 | NVD(米国 NIST) | 英 | 米国政府の脆弱性データベース。CVSSスコア、影響を受けるCPE、参考リンクの総合ハブ。最も網羅的。 | 開く |
| 総合 | MITRE CVE | 英 | CVE採番機関の公式記録。CVE記述の「正本」。NVDより記載が簡潔だが一次情報。 | 開く |
| 総合 | JVN iPedia(JPCERT/CC・IPA) | 日 | 日本のCSIRTが運用する脆弱性対策情報データベース。日本語で概要・対策が読める。掲載がない場合あり。 | 開く |
| 総合 | CISA KEV(悪用観測カタログ) | 英 | 米国CISAが実際に悪用を確認している脆弱性のカタログ。掲載されていれば最優先で対応。 | 開く |
| 総合 | GitHub Advisory Database | 英 | OSSパッケージ(npm/pypi/maven/composer/go等)別の脆弱性アドバイザリ。修正PRへのリンクが豊富。 | 開く |
| 総合 | OpenCVE | 英 | 複数CVEデータベースの集約検索サービス。タイムラインや関連CVEの俯瞰に有用。 | 開く |
| Linux | Red Hat CVE | 英 | Red Hat製品(RHEL/CentOS Stream/Rocky/AlmaLinux系)の影響評価とパッチ状況。 | 開く |
| Linux | Ubuntu Security | 英 | Ubuntu の影響評価。各Ubuntuバージョン(22.04/24.04等)でのパッチ提供状況が一目で分かる。 | 開く |
| Linux | Debian Security Tracker | 英 | Debian の影響評価。stable/testing/sid別のパッチ状況。Debian派生ディスト利用者向け。 | 開く |
| Linux | SUSE CVE | 英 | SUSE Linux Enterprise / openSUSE の影響評価とパッチ状況。 | 開く |
| 悪用 | Exploit Database | 英 | 公開エクスプロイトのアーカイブ。検出ツールやペネトレーションテストでの参照用。 | 開く |
| 悪用 | Packet Storm Security | 英 | セキュリティアドバイザリ・エクスプロイトの集約サイト。古めの情報も含む。 | 開く |
| 悪用 | GitHub PoC 検索 | 英 | GitHubコード検索でCVE IDを直接検索。野良PoCの早期発見に。 | 開く |
| 悪用 | X(Twitter)検索 | 日英 | 直近の議論やニュースを観測。In-the-wild悪用の早期検知に有用。 | 開く |
| スキャナ | Snyk Vulnerability DB | 英 | パッケージ別の脆弱性詳細と修正バージョン。OSS依存ライブラリ追跡に有用。 | 開く |
| スキャナ | Tenable(Nessus) | 英 | Nessusスキャナでの検出プラグイン情報。検出ロジックの参考に。 | 開く |
| スキャナ | Rapid7(Metasploit/Nexpose) | 英 | Metasploit悪用モジュール、Nexposeでの検出情報。 | 開く |
掲載しているのは無料でアクセスできる情報源のみです。CVEによっては掲載がないサイトもあります(特にJVN iPediaは日本国内で報告された脆弱性のみ掲載)。
STEP 2: 急ぎ対応すべきか判断する
結論: 高
判断根拠
- CVSS v3.1スコアは
8.6(High)で、実務的には重要かつ早めの対応が求められる深刻度です。 - EPSSスコアは
0.02%と低く、直近30日間での悪用予測確率は先ず高くありません。 - ランサムウェアによる悪用観測はありません(状況は不明)。
- 公開PoC(実証コード)は現在ありません。
- ネットワーク経由で認証不要かつ利用者の操作なしで攻撃可能(スコアのAV:N/PR:N/UI:Nより)。
- デフォルト設定で脆弱となる可能性が高いため、攻撃者は簡単に狙えます。
誰が動くべきか
- LLM Gateway運用チーム(LiteLLM、OpenRouterなど)の担当者
- Agentエージェントフレームワーク開発者(LangChain、AutoGen等)
- MLインフラチーム(vLLM、Triton等)
- RAG(Retrieval-Augmented Generation)パイプラインの保守者
- バイブコーダー開発者(Cursor、Cline、Aider、GitHub Copilot、Claude Codeなど利用者)
STEP 3: 自分の環境が対象か確認する
影響を受けるバージョン
| 製品 | 脆弱なバージョン範囲 | 修正版 |
|---|---|---|
| Spring AI 1.0.x | 1.0.0 から最新の 1.0.x まで | 1.0.7 以上 |
| Spring AI 1.1.x | 1.1.0 から最新の 1.1.x まで | 1.1.6 以上 |
修正版の詳細や今後のアップデートは必ずベンダー公式アドバイザリを参照してください。
バージョン確認コマンド
Python(pip)
pip show spring-ai
出力例:
Name: spring-ai
Version: 1.0.5
Summary: Spring AI vector store client
...
判定: バージョンが 1.0.7 未満なら脆弱。1.0.7 以上なら安全。
Python(poetry)
poetry show spring-ai
出力例:
name : spring-ai
version : 1.1.2
description : Spring AI vector store client
判定: バージョンが 1.1.6 未満なら脆弱。1.1.6 以上なら安全。
設定確認
この脆弱性はバージョン依存であり、特に設定による回避策は公開されていません。したがって、対象バージョンを使っている環境は脆弱です。
Nucleiテンプレートでの検出
現時点で公開されたNucleiテンプレートはありません。検出はバージョン確認で実施してください。
STEP 4: 修正を適用する
パッチ適用
Python(pip)
pip install --upgrade spring-ai
出力例:
Successfully installed spring-ai-1.0.7
判定: バージョンが 1.0.7 以上に更新されていれば適用済みです。
Python(poetry)
poetry update spring-ai
出力例:
Updating dependencies
Resolving dependencies... (0.1s)
- Upgrading spring-ai (1.1.5 → 1.1.6)
...
判定: バージョンが 1.1.6 以上に更新されていれば適用済みです。
注意: パッチ適用前には必ずバックアップを取得し、ステージング環境で動作検証を行ってください。ダウンタイムが必要な場合は計画的に実施しましょう。
パッチ即時適用ができない場合の暫定対応
現時点で公式の暫定対応策(設定変更やWAF/IPSルール追加など)は提示されていません。アップデート可能までアクセス制御やネットワーク隔離で防御することを推奨します。
STEP 5: 修正されたことを確認する
STEP 3 で実行したバージョン確認コマンドを再度実行してください。
期待される出力
Python(pip)
pip show spring-ai
出力例:
Name: spring-ai
Version: 1.0.7
Summary: Spring AI vector store client
...
判定: バージョンが 1.0.7 以上であれば安全です。
Python(poetry)
poetry show spring-ai
出力例:
name : spring-ai
version : 1.1.6
description : Spring AI vector store client
判定: バージョンが 1.1.6 以上であれば安全です。
追加で確認すべきこと
公開Nucleiテンプレートがあれば、アップデート後に再実行してください。また、アクセスログに異常な削除リクエストがないか監視することも有効です。
補足: 悪用観測状況
現時点でCISAの悪用観測カタログ(KEV)には登録されていません。GitHub上にも公開されたPoCやエクスプロイトコードは確認できません。悪用の報告やランサムウェアグループによる利用も確認されていません。
したがって攻撃の実態は見られず、まだ実戦的な悪用事例はありませんが、脆弱性の性質上早めの対応が推奨されます。
補足: CVSSメトリクス詳細
- AV(攻撃元): NETWORK – ネットワーク経由で攻撃可能
- AC(攻撃複雑度): LOW – 容易に攻撃できる
- PR(必要権限): NONE – 認証不要で攻撃可能
- UI(ユーザ操作): NONE – ユーザの操作を必要としない
- S(スコープ): UNCHANGED – 攻撃対象の権限範囲は変わらない
- C(機密性影響): HIGH – 機密情報の漏洩リスクが高い
- I(完全性影響): LOW – 完全性(データ改ざん)への影響は低い
- A(可用性影響): LOW – サービスの停止リスクは低い
よくある質問(FAQ)
Q. このCVEに対応するために最低限すべきことは何ですか?
A. 対象バージョンを確認し、公式の修正版 1.0.7(1.0.x系)または 1.1.6(1.1.x系)以上にアップデートしてください。STEP 3〜5で具体的手順を示しています。
Q. パッチが適用できない場合、どうすればよいですか?
A. 公式の暫定対応策はありませんが、ネットワークのアクセス制御や該当機能の停止などで攻撃リスクを下げる対策を行ってください。
Q. 既に攻撃を受けているか確認する方法はありますか?
A. アクセスログを確認し、異常な削除リクエストや不自然なアクセスを監視してください。ベンダー提供のIOC(Indicator of Compromise)があればそれも確認しましょう。
Q. なぜEPSSスコアが重要なのですか?
A. CVSSは脆弱性の技術的深刻度を示します。EPSSは「実際に悪用される確率」を表し、両方を組み合わせると対応優先順位がもっと正確に理解できます。
Q. このCVEと類似の脆弱性は他にもありますか?
A. CWE-917に分類される不適切な表現注入は類似の脆弱性が多数報告されています。Spring AI以外のLLM関連ツールでも発生し得るため定期的な監査が推奨されます。
参考文献
- NVD – CVE-2026-41705
- GitHub Advisory Database – GHSA-v632-2m87-7469
- Spring公式セキュリティアドバイザリ – CVE-2026-41705
- JVN iPedia – CVE-2026-41705
関連トピック・タグから探す
本記事に関連するキーワードから、他のAIセキュリティ記事を探せます。
2026-06-26 追記
本記事の公開後、以下の重要な変化が確認されました(公開からの経過: 6日)。
| 項目 | 公開時点 | 2026-06-26時点 | 変化の意味 |
|---|---|---|---|
| 結論ボックスの対象範囲が未記入 | (詳細はベンダーアドバイザリ参照) | cpe:2.3:a:vmware:spring_ai:*:*:*:*:*:*:*:* >=1.0.0 <1.0.7 / cpe:2.3:a:vmware:spring_ai:*:*:*:*:*:*:*:* >=1.1.0 <1.1.6 | 公開時は具体的な対象範囲が不明だったが、現在は確定済み(記事生成時の凡ミス補正) |
| 結論ボックスの修正バージョンが未記入 | ベンダーアドバイザリ参照 | 1.0.7 以降が修正版(affected範囲外) | 公開時は修正版情報が結論ボックスにテンプレ文字列のまま残っていた。現在は具体的な修正版が判明(記事生成時の凡ミス補正) |
結論ボックスの対象範囲が未記入
記事公開時点では、「結論」セクションに本脆弱性の対象範囲が記載されておらず、「(詳細はベンダーアドバイザリ参照)」という暫定的な表現のままとなっていました。しかし、現時点では対象製品・バージョンが cpe:2.3:a:vmware:spring_ai:*:*:*:*:*:*:*:* >=1.0.0 <1.0.7 / cpe:2.3:a:vmware:spring_ai:*:*:*:*:*:*:*:* >=1.1.0 <1.1.6 と明確に判明しています。これにより、読者が自環境のバージョンと照合しやすくなり、影響有無の判断が大幅にしやすくなります。対象範囲を正確に把握することは、計画的なリスク管理と迅速な修正適用の第一歩となりますので、運用現場での確認を徹底してください。
結論ボックスの修正バージョンが未記入
公開当初は、「修正」欄に「ベンダーアドバイザリ参照」とだけ記載されていましたが、最新情報では「1.0.7 以降が修正版(affected範囲外)」と明示されるようになりました。これにより、影響バージョンを使用中のシステム管理者は、「どのバージョンまで上げれば安全か」についてより明確に判断できるようになります。特にSpring AIを利用している開発・運用部門は、できるだけ早く1.0.7またはそれ以降のバージョン(1.1系なら1.1.6以降)へアップデートし、修正パッチの適用を確実に行うことを推奨します。
