脆弱性・CVE速報深刻度: 高

SurrealDB の MCP 機能でセッション乗っ取りの欠陥(CVE-2026-121419): CVSS 8.1、低権限の利用者が他人の権限で操作できる(3.3.0 で修正)

目次(5)

CVE-2026-121419

SurrealDB(オープンソースのデータベース)の MCP(AI エージェントがデータベースの道具を呼び出すための仕組み)の HTTP 窓口に、別の利用者のセッションを乗っ取れる欠陥(CVE-2026-121419)が公表されました。JWT・Bearer 方式のアクセス定義では、「同じ利用者かどうか」の照合に利用者ごとの識別子ではなくアクセス方式の名前が使われるため、同じ方式の別の利用者でも照合を通ってしまいます。有効な低権限のトークンを持つ攻撃者が、被害者の MCP セッション ID(mcp-session-id)を入手できれば、被害者の役割・権限で MCP の道具を実行できます。NVD に載っている CVSS v3.1 は 8.1(AV:N/AC:L/PR:L/UI:N、評価元は VulnCheck)です。CISA の KEV(悪用が確認された脆弱性)には載っておらず、EPSS(悪用される見込みの数値)は取得時点でデータがありません。修正版は 3.3.0 です。

概要

項目内容
問題MCP の HTTP 窓口で、リクエストごとの利用者の再確認(BoundSubject の指紋)が JWT・Bearer のアクセス方式では無効になる(CWE-269)。指紋に使う識別子がアクセス方式の名前になり、同じ方式の全利用者で同じ値になる
攻撃条件ネットワーク経由。同じアクセス方式の有効なトークン(最も低い役割でよい)と、被害者の mcp-session-id が必要(PR:L)。UI は不要
影響被害者の役割・権限での MCP の道具の実行。GitHub の勧告は、閲覧のみの役割の利用者が、編集者の役割の利用者のセッションを使い、自分の権限では禁止されている書き込みに成功した例を載せている(機密性・完全性が高、可用性は影響なし)
CVSS v3.18.1(AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N、評価元は VulnCheck)。CVSS v4.0 では 8.6(同じ評価元)
EPSS取得時点(2026-11-04)では FIRST にデータなし
CISA KEV載っていない(2026-11-04 時点)
対象NVD の記載は 3.1.0 以上 3.3.0 未満。GitHub の勧告の本文は 3.2.0 以上と書いており、食い違っている(下の「未確認の点」)
修正版3.3.0

SurrealDB は MCP の窓口(POST /mcp)を備えており、セッションの開始時に「誰のセッションか」を記録し、以降のリクエストで別の利用者の認証情報が来たら拒否する作りになっています。ところが JWT・Bearer 方式では、記録される識別子が利用者ではなくアクセス方式の名前になるため、同じ方式の利用者どうしが区別されません。セッションの実行は開始時に作られたセッション(被害者の権限)で行われるので、攻撃者は自分のトークンで照合を通りつつ、被害者の権限で道具を使えます。

なぜ重要か

MCP は、AI エージェントにデータベースの読み書きを任せる使い方で広がっています。そのセッションを別の利用者が使えると、役割による権限分けが意味をなさなくなります。たとえば閲覧だけの利用者が、編集者や管理者のセッションを借りて書き込めます。

一方で、攻撃にはいくつかの前提があります。攻撃者はすでに有効なトークンを持つ利用者で、さらに被害者のセッション ID を知る必要があります。セッション ID の入手方法は勧告に書かれていません。認証が不要という欠陥ではなく、CVSS も 8.1 です。本サイトの基準(認証不要かつ CVSS 9 以上を critical、PR:L は critical にしない)に照らして high とします。KEV にも載っておらず、悪用の報告は確認できていません。

対策

  • SurrealDB を 3.3.0 以降へ更新する。
  • 更新までの間、MCP の HTTP 窓口を使っている場合は、使う利用者と到達できるネットワークを絞る。必要がなければ MCP を有効にしない。
  • JWT・Bearer 方式のアクセス定義を使っている場合は、MCP のセッション ID を他人に見せない(ログ・画面共有・チケットに貼らない)。
  • MCP の監査ログで、1 つのセッション ID が別のトークンの利用者から使われていないか確かめる。

数値と出典(2026-11-04 時点)

項目内容
NVDDeferred(保留)。CVSS v3.1 8.1(AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N)、評価元は VulnCheck。弱点の種類は CWE-269。公開は 2026-11-03
GitHub 勧告GHSA-pgh9-49q4-hqcx(2026-10-19 公開)。影響は >= 3.1.0, < 3.3.0、修正版 3.3.0
EPSSFIRST にまだデータなし(2026-11-04 取得)
KEV載っていない
出典NVD、SurrealDB の GitHub セキュリティ勧告、VulnCheck の勧告、FIRST、CISA KEV

未確認の点

  • 悪用の有無、規模、攻撃者。KEV には載っておらず、公開情報では悪用の報告を確認できていない。
  • 影響の始まりの版。NVD は 3.1.0 以上、GitHub 勧告の本文は 3.2.0 以上としており、どちらが正しいかは確認できていない(3.1.x を使っている場合は、念のため影響ありとして扱うのが安全)。
  • 攻撃者が被害者のセッション ID をどう入手するか。勧告に具体的な経路は書かれておらず、入手の難しさは評価できていない。
  • ユーザー名・パスワードで認証する場合や、MCP を使わない構成が影響を受けないことの確認。勧告は JWT・Bearer の方式を対象としている。
  • 3.3.0 の修正が完全かどうか。修正コードまでは確認できていない。
  • NVD の分析は未完了(Deferred)で、評価が変わる可能性がある。EPSS も未算出で、公開された悪用コードの有無も確認できていない。

この記事について

AI の利用
本記事は AI が NVD などの公開情報をもとに作成しました。数値は取得時点(2026-11-04)のもので、未確認の点は本文に明記しています。

出典

この記事を共有