MCP公式SDKのSTDIOトランスポートを介したコマンド実行の脆弱性
- タグ
- 国外
Cloud Security Allianceの研究ノートによると、AnthropicのModel Context Protocol(MCP)の公式SDKは、STDIOトランスポートで渡されたコマンドを、サブプロセスが正当なMCPサーバーかを検知する前に実行する[17]。MCPプロジェクトはセキュリティポリシーの現行版で、SDKのstdioトランスポートはサンドボックスではないとしている[1]。
脆弱性の内容
Anthropicは、AIアシスタントとデータのあるシステムをつなぐ新しい標準としてMCPをオープンソースで公開し、仕様とSDKを提供した[29]。MCPの仕様では、stdioトランスポートでクライアントがMCPサーバーをサブプロセスとして起動し、標準入出力でJSON-RPCのメッセージをやりとりする[30]。クライアントは可能な限りstdioを支援すべき(SHOULD)だとする[30]。Tom's Hardwareは、MCPが前年12月にLinux FoundationのAgentic AI Foundationに寄贈されたと報じた[25]。
Infosecurity Magazineが引いたOX Securityの説明では、この問題は従来のコーディングの誤りではなく、Python、TypeScript、Java、Rustを含むAnthropicの公式MCP SDKの設計の決定に組み込まれている[20]。Cloud Security Allianceは研究ノートで、SDKはサーバーの起動に失敗するとエラーを返すが、そのときにはコマンドはすでに実行されていると説明した[17]。
The Hacker Newsは、OXが見つけた脆弱性を4つに分類して報じた[23]。
- 認証の有無を問わないMCP STDIOのコマンド注入[23]
- ハードニングの回避を伴う直接のSTDIO設定[23]
- ゼロクリックのプロンプトインジェクションによるMCP設定の編集[23]
- MCPマーケットプレイスを経由した隠れたSTDIO設定[23]
| CVE | 概要 | 成立条件 | CVSS | 資料 |
|---|---|---|---|---|
| CVE-2026-30623 | LiteLLMのMCPサーバー作成機能で、JSONの設定のcommandとargsを検証せずにホストで実行する | - | 9.8(CISA ADP、CVSS 3.1) | [4] |
| CVE-2026-30615 | Windsurfのプロンプトインジェクションで、攻撃者のHTMLの処理によりローカルのMCP設定が書き換えられ、悪意あるMCP STDIOサーバーが自動登録される | 利用者の操作なし | 8.0(CISA ADP、CVSS 3.1、AV:L) | [5] |
| CVE-2026-30616 | JaazのMCP STDIOのコマンド実行の処理で、攻撃者のコマンドが実行される | ネットワークの要求 | - | [6] |
| CVE-2026-30617 | LangChain-ChatChatのMCP STDIOサーバーの設定と実行の処理 | 公開されたMCP管理画面からの設定 | - | [7] |
| CVE-2026-30618 | FayのMCP STDIOサーバーの管理とコマンド実行の処理 | 公開されたMCP管理画面からの設定 | - | [8] |
| CVE-2026-30624 | Agent ZeroのExternal MCP Serversの設定で、JSONのcommandとargsが十分な検証なく実行される | - | - | [9] |
| CVE-2026-30625 | Upsonicで、許可リストはあるがnpm・npxの引数で任意のコマンドを実行できる | - | - | [10] |
| CVE-2025-65720 | GPT Researcherで任意のコマンドが実行される | 細工したHTMLページの操作 | - | [11] |
| CVE-2026-40933 | FlowiseのMCPアダプタのstdioコマンドの安全でない直列化(CWE-78) | 認証済みの攻撃者 | 10.0(CNA、CVSS 3.1)〔注1〕 | [12] |
| CVE-2026-26015 | DocsGPTで「MCP test」の挙動を回避する細工により任意のコードを実行できる | 認証なし | - | [13] |
同じ記事でThe Hacker Newsは、同じ根本の問題による脆弱性が過去1年にも独立して報告されていたと報じた[23]。挙げたのはMCP Inspector、LibreChat、WeKnora、@akoskm/create-mcp-server-stdio、Cursorの脆弱性である[23]。
時系列
| 日付 | 主体 | 内容 | 資料 |
|---|---|---|---|
| 2024年 | Anthropic | MCPをオープンソースで公開した | [29] |
| 2025年 | OX Security | MCPの研究を始めた | [17] |
| 2026年 | Anthropic | 協調的な開示の中で、挙動を意図したものと確認した | [17] |
| 2026年 | OX Security | MCP SDKのstdioトランスポートのコマンドインジェクションを扱う報告を公表した | [3、20] |
| 2026年 | CVE Program | CVE-2026-30615、CVE-2026-30616、CVE-2026-30617、CVE-2026-30624、CVE-2026-30625の記録を公開した | [5、6、7、9、10] |
| 2026年 | LiteLLM | CVE-2026-30623の修正を告知した | [3] |
| 2026年 | CVE Program | CVE-2026-40933の記録を公開した | [12] |
| 2026年 | CVE Program | CVE-2026-26015の記録を公開した | [13] |
| 2026年 | Obsidian Security | FlowiseのCVE-2026-40933の報告を公開した | [18] |
| 2026年 | CVE Program | CVE-2026-30623、CVE-2026-30618、CVE-2025-65720の記録を公開した | [4、8、11] |
対象の製品と版
Infosecurity Magazineは、OX Securityが報告で、200以上のオープンソースのプロジェクトと1億5000万のダウンロードが影響を受けうるとしたと報じた[20]。OXは、7000以上の公開サーバーと、合わせて最大20万の脆弱なインスタンスも挙げた[20]。
Cloud Security Allianceの2026年4月20日の研究ノートでは、OXの研究は5か月で30件以上の責任ある開示につながった[17]。OXはCriticalとHighのCVEを10件以上特定し、有料の顧客がいる6つの稼働中の本番基盤で概念実証の悪用を示した[17]。無害な概念実証のMCPを11の公開の登録簿とマーケットプレイスに提出したところ、9つが審査なしで受け付けた[17]。
| 製品 | 影響を受ける版 | 修正版 | 資料 |
|---|---|---|---|
| LiteLLM | 1.18.10 | v1.83.6-nightly以降(最初の安定版はv1.83.7-stable) | [3、4] |
| Windsurf | 1.9544.26 | - | [5] |
| Jaaz | 1.0.30 | - | [6] |
| LangChain-ChatChat | 0.3.1 | - | [7] |
| Fay | 4.3.1 | - | [8] |
| Agent Zero | 0.9.8 | - | [9] |
| Upsonic | 0.71.6 | -(0.72.0で、Stdioサーバーがマシン上で直接コマンドを実行しうる旨の警告を加えた) | [10] |
| GPT Researcher | v3.3.7 | - | [11] |
| Flowise | 3.1.0より前 | 3.1.0 | [12] |
| DocsGPT | 0.15.0以上0.16.0未満 | 0.16.0 | [13] |
The Hacker NewsとTom's Hardwareは、Bisheng〔注2〕も修正済みだと報じた[23、25]。Tom's Hardwareによると、ゼロクリックでローカルのコード実行に至るWindsurfは「reported」の状態にある[25]。
悪用の状況
CISA ADPは、CVE-2026-30623とCVE-2026-30615のSSVCの評価で、悪用(Exploitation)をnoneとした[4、5]。CVE-2026-40933の悪用の評価はpocである[12]。
Obsidian Securityは、細工したチャットフローの読み込みで、Flowiseの1クリックの認証後の遠隔コード実行を起こせると報告した[18]。SecurityWeekは、Obsidian Securityがこの脆弱性の技術情報と概念実証のコードを公開したと報じた[26]。
修正と回避策
仕様と公式SDKの扱い
Infosecurity Magazineが引いたOX Securityの説明では、Anthropicは挙動が設計どおりだと認めてプロトコルの変更を断った[20]。STDIOの実行モデルは安全な既定で、無害化は開発者の責任だと述べた[20]。
Cloud Security Allianceは研究ノートで、AnthropicがOXの最初の連絡から9日後にSECURITY.mdを更新し、STDIOアダプタは注意して使うべきだと記したと説明した[17]。AnthropicはSDKの設計を変えなかった[17]。MCPプロジェクトは、仕様のリポジトリにSECURITY.mdを公開した[2]。
MCPプロジェクトのセキュリティポリシーのページによると、信頼モデルと、意図した挙動で脆弱性に当たらないものの一覧を含む全文は、仕様のリポジトリのSECURITY.mdにある[1]。仕様と公式SDKの欠陥から生じるインジェクションなどの実装の誤りと、サンドボックスの回避は、脆弱性として扱う[1]。
ポリシーは、stdioのクライアントとサーバーが環境上同等の権限で動きうるとした[1]。SDKは、stdioの通信路で悪意のある相手方からどちらの側も守らない[1]。悪意のあるサーバーは起動されただけで任意のコードを実行でき、悪意のあるクライアントは起動したサーバーのプロセスを完全に制御できる[1]。
同じポリシーでは、stdioの一方が他方を停止させたり資源を枯渇させたりするだけの報告は対象外で、リモートのトランスポートから届くか、サンドボックスの回避に至る場合は対象にする[1]。stdioのサーバーを低い権限で動かす運用では、その境界の隔離は運用者の責任になる[1]。
SecurityWeekは4月15日の記事で、OXがAnthropicをはじめMCPの提供者に開示したと報じた[19]。当初は反応が乏しく、最終的な共通の反応は、対応せずに「by design」とするものだった[19]。OXはAnthropicへの解決策として、無害化しないSTDIO接続の廃止、プロトコルの段階でのコマンドのサンドボックス化、明示的に選ぶ「dangerous mode」、マーケットプレイスの検証の標準を挙げた[19]。
Tom's Hardwareによると、OXはマニフェストのみの実行やSDKのコマンドの許可リストなど、プロトコルの段階の修正を繰り返し勧めた[25]。Anthropicはこれを断り、報告を公表する意向にも異議を唱えなかったと報じた[25]。
LiteLLMでのコマンドの制限
stdioのMCPサーバーを追加すると、commandの値がそのままStdioServerParametersに渡り、プロキシのホストでサブプロセスとして実行されたと、LiteLLMは4月21日の告知で説明した[3]。影響を受けたのは、MCPサーバーの作成と更新、プレビュー用の/mcp-rest/test/connectionと/mcp-rest/test/tools/list、設定やDBから実行時に復元したサーバーだった[3]。
LiteLLMは深刻度をCriticalとし、認証の無い利用者は悪用できず、攻撃者には有効なLiteLLMのAPIキーと、修正後はPROXY_ADMINの役割が必要だと説明した[3]。修正(commit 7b7f304、PR #25343)は4点からなる[3]。
- stdioのcommandを既知の起動コマンド(npx、uvx、python、python3、node、docker、deno)に限る許可リスト[3]
- Pydanticの段階での要求の検証[3]
- 起動時の再検証[3]
- プレビュー用のエンドポイントのPROXY_ADMINへの限定[3]
LiteLLMは利用者に、v1.83.7-stable以降への更新と、既存のstdioのMCPサーバーの設定の確認を求めた[3]。
Flowiseの修正の回避
CVE-2026-40933の記録では、Flowiseには入力検査と安全なコマンドの一覧があったが、npxなどを実行用の引数と組み合わせてOSのコードを実行できた[12]。
Obsidian Securityは、この問題をFlowiseに開示し、OX Securityもnpx -cによる同様の回避を報告したと説明した[18]。両方の問題にCVE-2026-40933が割り当てられた[18]。Obsidian Securityは、入力検査による修正は容易に回避でき、最新版も影響を受けるとした[18]。Flowise Cloudはstdio MCPが無効のため影響を受けないが、自己ホストの導入は既定で脆弱である[18]。
Obsidian Securityが最も有効な緩和策として挙げたのは、stdio MCPが要らなければCUSTOM_MCP_PROTOCOL=sseで無効にすることだった[18]。
調査主体が示した対策
Cloud Security Allianceは研究ノートで、Windsurfの利用者に1.9544.26より後の版への更新を推奨した[17]。Cursor、VS Code、Claude Code、Gemini-CLIの利用者には、各社の勧告を見守るよう勧めた[17]。The Hacker Newsは、推奨される対策として5つを挙げた[23]。
未公表の事項
- Anthropicが今回の報告について自ら出した説明
- MCPの仕様と公式SDKの変更の予定
- Windsurf、Jaaz、LangChain-ChatChat、Fay、Agent Zero、GPT Researcherの修正版
- Bishengの影響を受ける版と修正版
- 下流の製品での悪用による被害
注
出典
当事者
- [1]Model Context Protocolプロジェクト『Security Policy』(公開日不明、2026年10月31日更新、2026年11月7日閲覧)
- [2]Model Context Protocolプロジェクト『SECURITY.md』(公開日不明、保存記録のみ) 保存記録
関係組織
- [3]BerriAI『Security Update: CVE-2026-30623 — Command Injection via Anthropic's MCP SDK』(2026年4月21日公開)
公的機関
- [4]CVE Program『CVE-2026-30623』(2026年7月15日公開、2026年7月16日更新)
- [5]CVE Program『CVE-2026-30615』(2026年4月15日公開)
- [6]CVE Program『CVE-2026-30616』(2026年4月15日公開)
- [7]CVE Program『CVE-2026-30617』(2026年4月15日公開)
- [8]CVE Program『CVE-2026-30618』(2026年7月15日公開)
- [9]CVE Program『CVE-2026-30624』(2026年4月15日公開)
- [10]CVE Program『CVE-2026-30625』(2026年4月15日公開、2026年4月16日更新)
- [11]CVE Program『CVE-2025-65720』(2026年7月15日公開)
- [12]CVE Program『CVE-2026-40933 Flowise: Authenticated RCE Via MCP Adapters』(2026年4月21日公開)
- [13]CVE Program『CVE-2026-26015 Unauthenticated RCE in DocsGPT MCP STDIO Configuration』(2026年4月29日公開)
調査・観測
- [17]Cloud Security Alliance『MCP by Design: RCE Across the AI Agent Ecosystem』(2026年4月20日公開)
- [18]Obsidian Security『1-Click RCE in Flowise (CVE-2026-40933): When Is stdio MCP Actually a Vulnerability?』(2026年5月28日公開、2026年9月7日更新)
報道機関
- [19]SecurityWeek『'By Design' Flaw in MCP Could Enable Widespread AI Supply Chain Attacks』(2026年4月15日公開)
- [20]Infosecurity Magazine『Systemic Flaw in MCP Protocol Could Expose 150 Million Downloads』(2026年4月16日公開、2026年11月6日更新)
- [23]The Hacker News『Anthropic MCP Design Vulnerability Enables RCE, Threatening AI Supply Chain』(2026年4月20日公開)
- [25]Tom's Hardware『Anthropic's Model Context Protocol includes a critical remote code execution vulnerability — newly discovered exploit puts 200,000 AI servers at risk』(2026年4月22日公開)
- [26]SecurityWeek『Exploit Code Published for Critical Flowise RCE Vulnerability』(2026年5月30日公開)
背景資料
- [29]Anthropic PBC『Introducing the Model Context Protocol』(2024年11月25日公開)
- [30]Model Context Protocolプロジェクト『Transports(Specification 2025-11-25)』(2025年11月25日公開)
更新記録
- 2026年4月26日:公開した。
- 2026年4月29日:CVE ProgramのDocsGPTのCVE記録(出典13)を加え、「脆弱性の内容」「時系列」「対象の製品と版」を改めた。
- 2026年5月28日:Obsidian SecurityのFlowiseの報告(出典18)を加え、「時系列」「悪用の状況」「修正と回避策」を改めた。
- 2026年5月30日:SecurityWeekのFlowiseの記事(出典26)を加え、「悪用の状況」と「注」を改めた。
- 2026年7月15日:CVE ProgramのLiteLLM・Fay・GPT ResearcherのCVE記録(出典4、8、11)を加え、「脆弱性の内容」「時系列」「対象の製品と版」を改めた。
- 2026年7月16日:CVE-2026-30623の記録の7月16日の更新(出典4)で示されたCISA ADPのCVSSとSSVCの評価を、「脆弱性の内容」と「悪用の状況」に加えた。
- 2026年9月7日:Obsidian Securityの報告(出典18)の9月7日の更新版に合わせ、「修正と回避策」を改めた。
- 2026年10月31日:Model Context Protocolプロジェクトのセキュリティポリシー(出典1)の10月31日の版を加え、リードと「修正と回避策」を改めた。
- 2026年11月6日:Infosecurity Magazineの記事(出典20)の11月6日の更新版に合わせ、「脆弱性の内容」「対象の製品と版」「修正と回避策」を改めた。
