MCP Toolboxに任意ファイル読み書きの脆弱性、修正版あり
Google CloudのMCP Toolbox for Databasesに、認証なしでホスト上のファイルを外部に持ち出され、ローカルファイルを上書きされる脆弱性が見つかりました。1.2.0から1.4.0を使っている組織が対象で、修正版は1.5.0です。まず版を確認し、ネットワークの外から届く構成になっていないかも見てください。
急ぎ度: 早めに
CVSS v4は9.3で認証なしにネットワーク越しで悪用でき、修正版1.5.0が出ているため、実際の悪用の報告がなくても早めの更新が妥当です。
関係があるか
MCP Toolbox for Databasesを自社サーバーやコンテナーで動かしている組織が対象です。AIエージェントとデータベースをつなぐ基盤として検証環境に置いたままのものも、見落としやすい対象です。
| 製品 | 影響を受ける版 | 直った版 |
|---|---|---|
| MCP Toolbox for Databases(googleapis/mcp-toolbox) | 1.2.0以上、1.5.0未満(1.2.0から1.4.0) | 1.5.0 |
確かめ方
- 1toolboxを動かしているサーバー、コンテナー、検証環境を洗い出し、版を確認します。
- 2版が1.2.0から1.4.0に入っていれば対象です。1.5.0以降なら修正済みです。
- 3ツール定義の設定ファイルに、cloud-storageのsourceが含まれているかを見ます。
- 4そのホストにネットワークのどこから到達できるかを、ファイアウォールやセキュリティグループで確かめます。
何が起きたか
MCP Toolbox for Databasesに、認証なしの攻撃者がホスト上のファイルを外部のGoogle Cloud Storageバケットへ持ち出し、ホスト上の任意のファイルを上書きできる脆弱性が見つかりました。
問題があるのは、cloud-storage sourceという部分です。パスの扱いに不備があり(CWE-22)、さらに呼び出しに対する認可の確認も欠けています(CWE-862)。ツール呼び出しのパラメーターに細工が加えられると、本来触れてはならない場所のファイルが読み書きの対象になります。
Googleのリポジトリgoogleapis/mcp-toolboxのプルリクエスト3454が、修正の参照先として挙げられています。
攻撃の流れ
-
1
到達
攻撃者がネットワーク越しにtoolboxのサービスへ接続します。
-
2
ツール呼び出し
cloud-storage sourceのツールに、細工したパラメーターを渡します。
-
3
認可なしで処理
呼び出し元の権限が確認されず、パスの範囲も制限されないまま処理が進みます。
-
4
読み出しと上書き
ホスト上のファイルが外部のバケットに送られ、ローカルのファイルが書き換えられます。
どう悪用されるか
認証は要りません。ネットワーク越しにtoolboxへ届く位置にいれば足り、利用者に何かを操作させる必要もありません。攻撃の複雑さは低いとされています。
被害は2方向です。1つは機密性で、toolboxを動かしているホストのファイルが、攻撃者の管理する外部のGoogle Cloud Storageバケットに送られます。設定ファイル、認証情報、アプリケーションのソースなど、プロセスから読めるものが対象になり得ます。
もう1つは完全性と可用性です。ホスト上の任意のファイルを上書きできるため、設定の改ざんやサービス停止につながります。影響はtoolbox単体にとどまらず、そのホストに置かれた情報にまで及びます。
今すぐやること
-
1
対象の版を特定する
本番、検証、開発者のローカル環境まで含めて、toolboxの稼働箇所と版を洗い出します。
toolbox --version -
2
1.5.0に更新する
対象の版は修正版の1.5.0に更新します。コンテナーで動かしている場合は、イメージを作り直してから入れ替えます。
-
3
到達できる範囲を絞る
toolboxにアクセスできる送信元を、必要なクライアントだけに制限します。インターネットに直接公開している構成は、更新と並行して最優先で閉じます。
-
4
痕跡を調べる
cloud-storage関連のツール呼び出しログに、見覚えのないパラメーターがないかを確認します。Google Cloud Storageへの書き込みについても、想定外のバケットへの送信が記録されていないかを確かめます。
-
5
資格情報の扱いを見直す
不審な呼び出しが見つかった場合は、そのホストに置かれていた認証情報とキーを無効にして発行し直します。
すぐ更新できないとき
すぐに更新できないときは、toolboxへのネットワーク経路を信頼できるクライアントだけに限定します。cloud-storage sourceを使っていない場合は、設定から外して再起動します。あわせて、toolboxを動かすユーザーの権限を最小にし、ホストから外部のGoogle Cloud Storageへ出る通信も、許可した宛先だけに絞ると被害を抑えられます。
背景
MCP Toolbox for Databasesは、AIエージェントがデータベースを操作するための窓口になるオープンソースのサーバーです。接続先とツールを設定で定義しておくと、エージェントはそれをツールとして呼び出せます。つまり、エージェントの入力とデータベースや保管先のあいだに置かれ、資格情報を預かる中継点になります。
そこが今回の焦点です。ツールを呼び出す側のパラメーターは、人が画面で入力するものとは違い、エージェントや外部の入力に左右されます。ファイルパスを受け取る処理でパスの範囲を縛らず、呼び出し元の認可も見ない構成だと、ホストのファイルシステムが丸ごと操作の対象になります。この種のパスの扱いの不備は、ファイルを扱う機能を持つ製品で長く起きてきた形です。
よくある質問
Q.社内ネットワークだけで使っている場合も、更新を急ぐべきですか。
Q.1.5.0に更新すれば、過去の被害の心配はなくなりますか。
まだ分かっていないこと
- 実際の攻撃で悪用されたかどうかは、いまのところ確認できていません。ベンダーの告知とリポジトリの情報を見てください。
- cloud-storage sourceを設定していない環境でも影響を受けるのかは、分かっていません。
- 1.2.0より前の版が影響を受けるかどうかは、案内されていません。該当しない版でも、更新できるなら1.5.0にそろえておくと安心です。
この記事は、取得元の公開情報をもとに生成 AI で作成しています。誤りを含むことがあります。対応を決める前に、下の原文と参照先を確認してください。
影響パッケージ
| 種類 | パッケージ | 影響を受ける版 | 直った版 |
|---|---|---|---|
| Google Cloud | MCP Toolbox for Databases (googleapis/mcp-toolbox) |
1.2.0 以上 1.5.0 未満 |
1.5.0 |
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。
Path Traversal and Missing Authorization in cloud-storage source in Google Cloud MCP Toolbox for Databases (googleapis/mcp-toolbox) versions 1.2.0 through 1.4.0 allows an unauthenticated remote attacker to exfiltrate host files to external Google Cloud Storage buckets and overwrite arbitrary local files via crafted tool invocation parameters.
出典: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory
参照URL
- web github.com
- web nvd.nist.gov
- web github.com