本文へ移動
English version →
重大 9.9 急ぎ度: 至急

Beta9にホストのファイル読み書きの脆弱性、修正版あり

Beta9で、テナントがワーカーのマシン上のファイルを読み書きできてしまう脆弱性が11月1日に公表されました。利用者を分けて運用している組織は、gatewayとworkerの両方を修正版に更新してください。

CVE-2026-120308 公開 更新 執筆・監修: 佐々木 航 人が監修しながらAIを活用して執筆
画像は生成 AI で作成したイメージです

急ぎ度: 至急

CVSS v3は9.9で、ワークスペースのトークン1つで他テナントのデータにも届く一方、修正版がすでに公開されているためです。

関係があるか

Beta9を自前で動かし、複数のチームや外部の顧客にワークスペースを配っている組織が対象です。自分たちしか使わない環境でも、gatewayかworkerが修正版より古ければ該当します。

製品影響を受ける版修正版
Beta9 gateway 0.1.776より前の版(0.1.769で確認済み) 0.1.776
Beta9 worker 0.1.756より前の版(0.1.745で確認済み) 0.1.756

確かめ方

  1. 1自社のBeta9がgatewayとworkerのどちらも動かしているか、構成図やデプロイ定義で確認します。
  2. 2稼働中のgatewayとworkerの版を、コンテナイメージのタグやデプロイ定義から調べ、0.1.776と0.1.756より古くないかを見比べます。
  3. 3ワークスペースのトークンを持つ人が社外や信頼できない相手に広がっていないか、発行状況を洗い出します。
  4. 4Beamが運用するクラウド版を使っている場合は、ベンダーの告知で対応状況を確認します。

何が起きたか

Beta9で、利用者が自分のワークスペースの範囲を越えて、ワーカーを動かしているマシンのファイルを読み書きできてしまう脆弱性が見つかりました。

Beta9では、関数・エンドポイント・タスクキューをデプロイするときにボリュームを付けられます。gatewayは、共有ボリュームの置き場、ワークスペース名、設定に書かれたボリューム識別子をつないでホスト上のパスを作ります。ところが、その識別子が当該ワークスペースのボリュームを指しているかを確認していませんでした。親ディレクトリをたどる指定を含む識別子で、パスはワーカーのファイルシステムのルートまで広がります。workerはそのパスを、明示的に読み取り専用とされていない限り、読み書き可能でサンドボックスにマウントします。分類はCWE-22とCWE-668です。

修正版では、マウントを組み立てる前にボリューム識別子とマウントパスを検証します。修正版の導入前に保存されたスタブも検証の対象です。gatewayは、存在しないボリュームや、ワークスペースが所有していないボリュームを拒否します。

攻撃の流れ

  1. 1

    トークンを入手

    ワークスペースのトークンを持つテナントが、通常どおりBeta9にデプロイできる状態にあります。

  2. 2

    ボリューム付き登録

    関数やエンドポイントのデプロイ時に、細工したボリューム識別子を設定に入れます。

  3. 3

    パスがルートへ

    所有確認がないため、gatewayが作るホスト上のパスがワーカーのルートを指します。

  4. 4

    ホストを読み書き

    workerがそのパスを読み書き可能でサンドボックスにマウントし、他テナントのボリュームにも届きます。

公開されている情報をもとにした流れの例です。

どう悪用されるか

悪用にはワークスペースのトークンが必要です。ネットワーク経由で、利用者の操作を待たずに試せ、複雑な条件もありません。つまり、ふつうにBeta9を使えるテナントが出発点になります。

成功すると、そのワーカーが動くマシンのファイルを読み書きできます。同じマシンに置かれた他テナントのボリュームも例外ではありません。情報の漏えい、データの改ざん、ワーカーの動作への影響まで、CVSSの評価では機密性・完全性・可用性がすべて高いとされています。影響がサンドボックスの外に出るため、深刻度が高く付いています。

今すぐやること

  1. 1

    gatewayとworkerを修正版に更新する

    gatewayを0.1.776以上、workerを0.1.756以上にします。片方だけでは足りないため、両方をそろえてください。修正版には導入前に保存されたスタブへの検証も含まれます。

  2. 2

    更新後の版を確認する

    稼働中のgatewayとworkerのイメージタグが修正版になっていることを、すべてのノードで確認します。古いworkerが残っていないかも見てください。

  3. 3

    既存のボリューム設定を点検する

    保存済みのスタブで、ボリューム識別子がワークスペースの所有するボリューム名になっているかを見ます。見慣れない形の識別子があれば、そのテナントの操作履歴を調べます。

  4. 4

    外部テナントがいる場合は漏えいを想定する

    公表前から信頼できないテナントに環境を開放していた場合は、ワーカーのマシンに置かれた認証情報やボリューム内のデータが読まれた可能性を考えます。必要に応じて、トークンやシークレットを更新します。

  5. 5

    ベンダーの告知を確認する

    クラウド版の扱いや追加の注意点は、beam-cloudのリリースノートとアドバイザリで確認します。

すぐ更新できないとき

更新までのつなぎとして、信頼できないテナントへのワークスペースのトークン発行を止め、新規デプロイの受け付けを制限します。すでに配ったトークンは棚卸しして、不要なものを失効させてください。これは悪用の入口を狭める手当てにとどまり、脆弱性そのものは残ります。

背景

Beta9は、関数・エンドポイント・タスクキューをワークスペース単位で動かすオープンソースの実行基盤です。gatewayが受け付けた要求をworkerが実行し、各ジョブはサンドボックスの中で動きます。ボリュームは、そのサンドボックスにホスト側の保存領域をつなぐ仕組みです。

今回の問題は、ホスト上のパスを組み立てる段階にあります。入力が基点のディレクトリの外へ出られる脆弱性はCWE-22に分類される古典的なもので、ここではその結果、サンドボックスの境界そのものが無意味になります。マウント元がワーカーのルートになれば、中でどれだけ隔離していても、ホストのファイルが丸ごと見えてしまうからです。複数のテナントが同じマシンを共有する構成ほど、他の利用者への波及が大きくなります。

よくある質問

Q.自分たちしか使わない社内環境でも、すぐに更新すべきですか。
A.トークンを持つ人がすべて信頼できるなら、他テナントへの影響という面の緊急性は下がります。ただ、トークンが流出すればワーカーのマシンのファイルまで届くため、通常の更新作業より優先して計画的に進めてください。

この記事は、取得元の公開情報をもとに、人が監修しながらAIを活用して執筆しています。執筆と監修は佐々木 航が担い、公開したあとも人が内容を確認しています。誤りに気づいたときは直し、記事の末尾に訂正の行を残します。対応を決める前に、下の原文と参照先も確認してください。

影響パッケージ

種類パッケージ影響を受ける版修正版
beam-cloud Beta9 gateway
0.1.776 未満
0.1.776
beam-cloud Beta9 worker
0.1.756 未満
0.1.756
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。

A Beta9 tenant can attach a volume when deploying a function, endpoint, or task queue. The gateway builds the host path by joining the shared volumes root, the workspace name, and the volume identifier from the stub configuration. Nothing checks that the identifier names a volume that workspace owns. Parent-directory segments in the identifier collapse the joined path to the worker's filesystem root, and the worker bind-mounts that path into the sandbox read-write unless the volume was explicitly marked read-only. A tenant with a workspace token can therefore read and write the worker's files, including other tenants' volumes stored on that machine. Confirmed against gateway 0.1.769 and worker 0.1.745. Fixed in gateway 0.1.776 and worker 0.1.756: volume identifiers and mount paths are validated before a mount is built, including for stubs saved before the check existed, and the gateway rejects a volume that does not exist or is not owned by the workspace.

出典: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory

参照URL

当サイトでは、アクセス解析と広告の効果測定のために Cookie を使います。株式会社Game のサイト共通の設定です。 詳しく