MCP Toolbox for Databasesの脆弱性CVE-2026-93328|対象のバージョンと上げ方、更新後に入れる設定

MCP Toolbox for Databasesの脆弱性CVE-2026-93328。上げ方と、更新後に入れる設定。対象は1.2.0〜1.4.0で、1.5.0で直っている。まず toolbox --version でバージョンを確かめる。次に、設定ファイル tools.yaml にcloud-storageの接続先があるかを見る。1.5.0以降に上げる。1.4.0以前なら、cloud-storageを使っていなくても、ほかのセキュリティ修正のために上げる。上げたら、使ってよいCloud Storageのバケットを allowedBuckets に、使ってよいサーバーのディレクトリを allowedLocalRoots に書く。Cloud Storageの接続先を使っている人へ

Google CloudのMCP Toolbox for Databasesで、Cloud Storageの接続先(cloud-storage)に脆弱性CVE-2026-93328が見つかりました。対象は1.2.0から1.4.0までで、1.5.0で直っています。

cloud-storageを使っている人は、1.5.0以降(10月27日時点の最新は1.15.0)に上げたうえで、allowedBuckets と allowedLocalRoots を設定します。この2つは書かないと、すべてのバケットとパスが許可されたままです。

toolbox --version

npxやコンテナで動かしているときは、「自分のバージョンを確かめる」のコマンドを使います。

表示されたバージョンが1.2.0から1.4.0なら、この脆弱性の対象です。

  • 2026年10月27日7時57分(日本時間)時点の、CVEの記録・NVD・GitHubのリリースノートと公式ドキュメントの内容です。
  • 深刻度はCVSS 4.0で9.3(Critical)です。CVEを登録したGoogle Cloudが付けた値です。
  • 認証なしで外から、Toolboxを動かしているマシンのファイルを外部のCloud Storageのバケットへ持ち出されたり、ローカルのファイルを上書きされたりするおそれがあります。
目次

結論:当てはまるかと、やること

使い方 やること
1.2.0〜1.4.0でcloud-storageを使っている 1.5.0以降に上げ、allowedBuckets・allowedLocalRoots を設定する
1.5.0以降でcloud-storageを使っている allowedBuckets・allowedLocalRoots が書かれているか確かめ、なければ書く
1.4.0以前でcloud-storageを使っていない この脆弱性には当てはまらない。1.5.0にはほかのセキュリティ修正も入っているので、1.5.0以降に上げる
1.5.0以降でcloud-storageを使っていない この脆弱性には当てはまらない

cloud-storageの接続先は1.2.0で加わったもので、1.1.0以前にはありません。CVEの記録でも、対象は1.2.0から1.4.0までです。

CVE-2026-93328とは

MCP Toolbox for Databasesは、AIエージェントやIDE、アプリをデータベースにつなぐ、オープンソースのMCPサーバーです。MCPのしくみは、Agent Skillsとは?SKILL.mdのしくみとMCPとの違いで取り上げています。

CVE-2026-93328は、Cloud Storageの接続先(type: cloud-storage)で、ファイルのパスと権限を十分に確かめていなかった問題です。Toolboxのサーバーのファイルを読み書きするツールは、cloud-storage-upload-object と cloud-storage-download-object です。

項目 内容
CVE CVE-2026-93328
深刻度 CVSS 4.0で9.3(Critical)。Google Cloudが付けた値です。NVDは分析待ち(Awaiting Analysis)です
種類 パストラバーサル(CWE-22)、認可の欠如(CWE-862)
影響するバージョン 1.2.0〜1.4.0
直ったバージョン 1.5.0
悪用の状況 NVDに載っているCISAの評価では「none」(悪用の証拠はないという評価)
GitHub アドバイザリのデータベースにGHSA-2gc9-c85v-5vwrとして載っています(GitHubによるレビュー前のもの)

公開の流れ(日本時間)は次のとおりです。

日時 できごと
5月8日 4時18分 1.2.0が公開。Cloud Storageの接続先が入る
6月18日 10時38分 修正のプルリクエスト(#3454)が取り込まれる
6月19日 8時34分 1.5.0が公開
10月23日 9時14分 1.15.0が公開
10月26日 23時24分 CVE-2026-93328が公開
10月27日 0時16分 NVDに載る
10月27日 0時34分 GitHubのアドバイザリのデータベースに載る

自分のバージョンを確かめる

バイナリで動かしているとき

toolbox --version

Windowsでは次のとおりです。

.\toolbox.exe --version

次のように表示され、「version」のあとの数字がバージョンです。

toolbox version 1.15.0+binary.linux.amd64.8e8e569

npxで動かしているとき

npx @toolbox-sdk/server --version

コンテナで動かしているとき

docker ps --format "{{.Image}}"

イメージ名の「:」のあとがバージョンです。

cloud-storageを使っているか

設定ファイル(tools.yaml)に type: cloud-storage の接続先があるか、起動のコマンドに --prebuilt cloud-storage が入っているかを見ます。

grep -n "cloud-storage" tools.yaml

1.5.0以降に上げる

1.5.0では、Googleの認証で mcpEnabled を使うときに audience か clientId が必須になりました。1.5.0からは、MCPの認証と enable-api を一緒に有効にするとエラーになります。この2つに当てはまるときは、上げる前に設定を見直します。

バイナリ(Linux・AMD64の例)

export VERSION=1.15.0
curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/linux/amd64/toolbox
chmod +x toolbox
sha256sum toolbox

表示されたハッシュが、GitHubのリリースのページのSHA256の値と同じかを確かめます。macOSとWindowsのダウンロード先も、同じページにあります。

Homebrew

brew upgrade mcp-toolbox

コンテナ

docker pull us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:1.15.0

今のコンテナを止め、新しいタグのイメージで起動し直します。

npx

npx @toolbox-sdk/server@1.15.0 --config tools.yaml

Goで入れているとき

go install github.com/googleapis/mcp-toolbox@v1.15.0

上げたあとに、もう一度「自分のバージョンを確かめる」のコマンドで、1.5.0以降になったかを確かめます。

上げたあとに入れる設定

1.5.0で、cloud-storageの接続先に2つの設定が加わりました。それぞれ、書かないとすべてが許可されます。

設定 決めること
allowedBuckets 使ってよいCloud Storageのバケットの名前
allowedLocalRoots ファイルのアップロードとダウンロードに使ってよい、サーバーのディレクトリ(絶対パス)

公式ドキュメントの例は次のとおりです。

kind: source
name: my-gcs-source
type: "cloud-storage"
project: "my-project-id"
allowedBuckets:
  - "my-app-bucket"
  - "my-backup-bucket"
allowedLocalRoots:
  - "/workspace"
  • 1.10.0以降は、Toolboxがシンボリックリンクをたどった先も、許可したディレクトリの中にあるかを確かめます。ハードリンクは区別できません。
  • --prebuilt cloud-storage の公式の設定には、allowedBuckets・allowedLocalRoots が書かれていません。2つを設定するときは、tools.yamlに接続先を書きます。
  • Google CloudはCVEの記録で、あわせてToolboxを権限の少ないOSのユーザーで動かし、IAMの権限をしぼるよう勧めています。

1.5.0に入ったほかのセキュリティ修正

1.5.0のリリースノートには、cloud-storageのほかにも次の修正があります。cloud-storageを使っていなくても、1.4.0以前なら上げる理由になります。

  • HTTPの接続先とCloud Healthcareの接続先で、SSRF(サーバーに意図しない宛先へ通信させる攻撃)を防ぐチェックを追加
  • bigquery-execute-sql で、データセットの制限をすり抜けられる問題を修正
  • mysql-get-query-plan で、クエリの実行や別の文の差し込みができる問題を修正
  • SQLインジェクションを防ぐため、区切り文字のエスケープを修正
  • MCPのHTTPで受け取るデータの大きさに上限を設定

参考にした公式の情報

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

社内エンジニアとして、SREとセキュリティの仕事をしています。サーバーの構築や運用、クラウド環境の設計にも関わってきました。趣味はゲームと漫画・アニメ。

コメント

コメントする

目次