JFrog、Beta9の隔離破り2件を公表|開発元は9月に修正版を配布

JFrog、Beta9の隔離破り2件を公表|開発元は9月に修正版を配布

ソフトウェアの配布と供給網の安全を扱う企業 JFrog は、2026年11月1日(日本時間同日21時49分と21時51分)、OSS の Beta9 に2件の脆弱性があるとして、CVE-2026-120306 と CVE-2026-120308 を公開しました。Beta9 は beam-cloud が開発する、GPU を使った推論やAIのサンドボックス(隔離された実行環境)を動かすための基盤です。2件はどちらも、一つの基盤を共用する利用者(テナント)どうしの隔離が破られるもので、深刻度の評価 CVSS 3.1 で9.9とされました。

修正は、開発元が9月15日に出した worker-0.1.756 と gateway-0.1.776 に既に入っています。影響を受けるのは、Beta9 を自前で運用(セルフホスト)し、worker 0.1.756 より前、または gateway 0.1.776 より前の版を使っている環境です。複数の利用者やチームに一つの Beta9 を使わせている組織ほど、影響が大きくなります。


カメ先生カメ先生

AIの推論やサンドボックスを動かす基盤 Beta9 で、利用者を分ける壁を越えられる欠陥が2件見つかったんだ。JFrog が11月1日に CVE として公開した。


カメ子カメ子

壁を越えるというのは、他の人のデータが見えるということですか。


カメ先生カメ先生

CVE の記載では、ワークスペースのトークンを持つ利用者が、ワーカーと呼ばれる実行役の機械のファイルや、同じ機械にある他の利用者のボリュームに届きうるとされている。ただ、修正は9月に配られていて、開発元はその時点でセキュリティの修正とは書いていなかった。


カメ子カメ子

直った版は1か月半前からあって、欠陥の中身が後から明らかになった、ということですね。


この記事のポイント
  • JFrog が11月1日、Beta9 のテナント隔離を破る欠陥2件(CVE-2026-120306・CVE-2026-120308、いずれも9.9)を公開した
  • 対象は worker 0.1.756 未満、gateway 0.1.776 未満の Beta9 を自前で運用する環境。修正版は9月15日に公開済み
  • 悪用の有無、商用サービス Beam のクラウドでの影響と対応、利用者への告知の有無は、11月2日の時点で公表されていない

AIの導入・活用、何から始めるべきかお悩みですか?

デボノはアカウント開設・初期設定など「そもそものAI導入」から社内定着まで伴走支援。マーケティング活用など一歩進んだご相談にも対応します。

目次

JFrog が11月1日に公開した2件の CVE

2件の CVE は、JFrog が CVE の番号を割り当てる機関(CNA)として登録しました。CVE-2026-120306 の題は「chroot だけの隔離による Beta9 のビルド用サンドボックスからの脱出」、CVE-2026-120308 の題は「ボリュームのパスの遡りによる Beta9 のホストのファイルシステムの露出」です。CVE の記録によると、番号の予約から公開までは、どちらも20分足らずでした。CVE-2026-120306 は日本時間21時32分に予約されて17分後に公開され、CVE-2026-120308 は21時46分に予約されて約5分後に公開されています。

発見者として記されているのは Natan Nehorai 氏で、調整役は JFrog Security Research です。JFrog は研究部門を持ち、OSS の脆弱性を調べて公表しています。今回の2件は、どちらも CVE の記録の中に、欠陥の仕組み、確認した版、修正の内容、修正の日付までがまとめて書かれています。

米国の脆弱性データベース NVD には、日本時間22時18分に2件とも載りました。NVD での状態は「受付済み」で、NVD 独自の評価はまだ付いていません。NVD の画面に表示されている9.9は、JFrog が付けた評価です。2件とも、攻撃に必要な権限は「低」、利用者の操作は不要、影響の範囲は脆弱な部品の外に広がるという評価の組み合わせです。

Beta9 と商用サービス Beam の関係

Beta9 は GitHub で公開されている OSS で、リポジトリの説明は「超高速のサーバーレスな GPU 推論、サンドボックス、バックグラウンドの処理」です。主に Go で書かれ、ライセンスは AGPL-3.0、スターの数は約1,840、派生のリポジトリは175です。リポジトリは2023年11月に作られ、11月2日の時点でも更新が続いています。

README には、Beta9 が開発元の完全管理型のクラウドサービス Beam を動かすOSSのエンジンだと書かれています。利用者は Beta9 を無料でセルフホストするか、Beam を通じた管理型のクラウドを選べます。README が挙げる機能は、1秒未満でコンテナを起動する独自の実行環境、数百のコンテナへの処理の分散、使っていないときに台数をゼロまで減らす仕組み、分散ストレージのボリュームなどです。GPU については、開発元のクラウドの GPU で動かすことも、利用者が自前の GPU を持ち込むこともできると README は書いています。セルフホストの形でも、Beam のクラウドと同じエンジンが動くことになります。

README は、Beta9 の使い道として、LLM が生成したコードを動かすための隔離されたコンテナを立ち上げることを最初に挙げています。ほかに、自前のモデルを載せた推論の窓口や、時間のかかる処理を順に流すタスクキューも例に出しています。AIが書いたコードや、利用者ごとのモデルを、共用の GPU の上で分けて動かすことが前提の作りです。

9月7日から11月1日までの経緯

経緯は、2件の CVE の記録に書かれた時系列と、GitHub のリリースと PR の時刻から組み立てられます。下の表では、協定世界時(UTC)と日本時間を並べました。

日時(UTC/日本時間)出来事
9月7日 2時47分/11時47分worker-0.1.745 が公開される。CVE の記録では、この版と gateway-0.1.769 が最新だった時点で影響を確認
9月7日 4時12分/13時12分gateway-0.1.769 が公開される
9月14日 15時26分/9月15日 0時26分PR 1897「Handle sandbox edge cases」が作られる
9月15日 4時03分/13時03分PR 1897 がマージされる
9月15日 4時03分から4時04分/13時03分から13時04分worker-0.1.756 と gateway-0.1.776 が公開される
10月31日worker-0.1.821 と gateway-0.1.840 まで版が進む
11月1日 12時49分/21時49分JFrog が CVE-2026-120306 を公開
11月1日 12時51分/21時51分JFrog が CVE-2026-120308 を公開
11月1日 13時18分/22時18分NVD に2件が掲載される

影響の確認から修正の公開までは8日、修正の公開から CVE の公開までは47日です。CVE の記録には、修正の版が出たときに、開発元のセキュリティの勧告は PR と一緒に出されなかったと明記されています。

修正の後も Beta9 の開発は速いペースで続き、10月31日には worker-0.1.821 と gateway-0.1.840 が出ています。版番号では、修正の版から worker が65、gateway が64進んだことになります。最近の版を追って更新している環境では、修正は既に入っていることになります。

CVE-2026-120306:ビルドの隔離がファイルの根を変えるだけだった

1件目は、利用者が定義したコンテナのイメージを作る(ビルドする)処理の欠陥です。Beta9 では、利用者がイメージの定義に書いたコマンドが、ビルド用のワーカーの上で、コンテナのイメージを作る道具 Buildah によって実行されます。CVE の記録によると、このとき使われていた隔離の方式は、ファイルシステムの根(最上位の場所)を差し替えるだけの chroot でした。

chroot は、プロセスから見えるファイルの範囲を変える古い仕組みで、プロセスの一覧やネットワークなどを別にする機能はありません。CVE の記録では、ビルドの手順はワーカーとプロセス、ネットワーク、プロセス間通信、利用者の名前空間を共有したまま、管理者の権限で動いていました。名前空間は、コンテナどうしを分けるための Linux の仕組みです。

加えて、ファイルの権限の確認を飛び越えられる特権も持っていました。ワーカーの区画自体も特権で動く設定でした。その結果、利用者のビルドの手順から、ワーカー自身のファイルに書き込める状態だったと記されています。分類は「不適切な隔離」(CWE-653)と「不適切な権限の管理」(CWE-269)です。

ワークスペースのトークンとビルド1回で届いたワーカーの中身

CVE の記録が、届きうるワーカーの中身として挙げているのは3種類です。1つ目は、ワーカーが他の利用者のコンテナを起動するために使う部品です。2つ目は、ワーカーが持つ Kubernetes のサービスアカウントの認証情報です。3つ目は、ホストの機械からワーカーの区画にマウントされた領域です。

必要な条件は、ワークスペースのトークンを持っていることと、イメージのビルドを1回送ることだけだと記録は書いています。対象となるのは既定のビルド方式で、利用者が特別な設定を選ぶ必要はありません。ワークスペースのトークンは、Beta9 の利用者が自分の環境に処理を配備するときに使う通常の認証情報です。

一方で、JFrog が行った確認は読み取りだけの検証でした。記録によると、確かめたのは、名前空間が共有されていること、特権を持っていること、ワーカーの部品が見える状態にあることです。実際に他の利用者のコンテナに手を加えたり、認証情報を使ったりした検証は書かれていません。具体的にどの場所から何に届くかは CVE の記録にありますが、悪用の手がかりになるため書きません。

CVE-2026-120308:所有を確かめずに組み立てたボリュームのパス

2件目は、ボリューム(処理の間で残しておくデータの保存領域)の扱いの欠陥です。Beta9 の利用者は、関数、推論の窓口、タスクキューを配備するときに、ボリュームを付けられます。CVE の記録によると、ゲートウェイ(利用者の要求を受け付ける部品)は、共用のボリュームの置き場所、ワークスペースの名前、ボリュームの識別子をつなげて、ホスト上のパスを組み立てていました。

このとき、指定されたボリュームがそのワークスペースのものかを確かめる処理がありませんでした。さらに、識別子に上の階層へ戻る指定が含まれていても拒まれず、組み立てたパスがワーカーのファイルシステムの最上位まで遡れたと記録は書いています。分類は「パスの遡り」(CWE-22)と「資源を誤った範囲に晒すこと」(CWE-668)です。

JFrog は、gateway 0.1.769 と worker 0.1.745 でこの欠陥を確認しました。影響を受ける範囲は、記録の上では gateway が0.1.776より前のすべての版、worker が0.1.756より前のすべての版です。欠陥のある部品として、マウントを組み立てる共通の処理と、ゲートウェイの配備の受付、ワーカーの起動の処理が挙げられています。

読み書きできる形でのマウントと同じ機械の他テナントのボリューム

CVE の記録によると、ワーカーは組み立てられたパスを、そのままサンドボックスにマウントしていました。ボリュームに読み取り専用の指定が無ければ、マウントは読み書きできる形になります。そのため、ワークスペースのトークンを持つ利用者が、ワーカーのファイルを読み書きできる状態でした。

記録は、その中に同じ機械に置かれた他の利用者のボリュームも含まれると書いています。README によると、Beta9 のボリュームは分散ストレージとして処理にマウントして使うものです。複数の利用者が同じワーカーの機械を共用していれば、その機械にある他の利用者のデータに届きうるということです。

1件目がビルドの段階の欠陥だったのに対し、2件目は配備して動かす段階の欠陥です。入口は違いますが、どちらも、利用者の入力がワーカーの機械の内側まで届き、他の利用者との境界を越えられるという点で共通しています。CVE の記録は2件を別々の番号にしていますが、修正は同じ PR に入りました。

2件がともに9.9とされた評価の内訳

CVSS 3.1 は、脆弱性の深刻度を0から10で表す共通の物差しです。2件の評価の組み合わせはまったく同じで、攻撃はネットワーク越しにでき、条件は複雑ではなく、必要な権限は「低」で、利用者の操作は要りません。機密性、完全性、可用性への影響は、いずれも「高」とされました。

必要な権限が「低」なのは、攻撃にワークスペースのトークンが要るためです。誰でも外から突けるわけではなく、Beta9 に正規の利用者として登録されていることが必要です。一方で、影響の範囲が「変わる」とされたため、点数は10に近い9.9になりました。これは、欠陥のある部品の外、つまりワーカーの機械や他の利用者の資源に影響が及ぶという評価です。

JFrog は評価の前提となる場面も書いています。1件目は「特権で動くビルド用のワーカーでの、既定の重ねてビルドする方式」、2件目は「ワークスペースのトークンを持つ利用者が、ボリュームを付けた関数を配備する場合」です。NVD はまだ独自の評価を付けていないため、2件の深刻度はJFrog の評価だけが出ている状態です。

影響を受ける版と使い方

影響を受ける版は、CVE の記録の通りです。Beta9 はゲートウェイとワーカーを別々の版番号で出しているため、2つの部品をそれぞれ確かめる形になります。

項目CVE-2026-120306CVE-2026-120308
影響を受ける部品ワーカーゲートウェイとワーカー
影響を受ける版worker 0.1.756 より前gateway 0.1.776 より前、worker 0.1.756 より前
確認した版記載なし(読み取りだけの検証)gateway 0.1.769、worker 0.1.745
修正の版worker 0.1.756gateway 0.1.776 と worker 0.1.756
前提ワークスペースのトークン、既定のビルド方式ワークスペースのトークン、ボリュームを付けた配備
評価9.9(CWE-653、CWE-269)9.9(CWE-22、CWE-668)

使い方の面で影響が大きいのは、一つの Beta9 を複数の利用者・チーム・顧客に使わせている環境です。2件とも、ワークスペースのトークンを持つ利用者が、他の利用者の領域に届くという欠陥だからです。社内の1チームだけで使っている環境では、他の利用者という区別自体が小さくなりますが、ワーカーの認証情報や機械のファイルに届くという点は変わりません。

商用の Beam のクラウドについて、クラウド側がいつ修正の版にしたかは、11月2日の時点で開発元から公表されていません。

修正の PR 1897「Handle sandbox edge cases」の中身

2件の修正は、9月14日に作られ、15日にマージされた PR 1897 に入っています。題は「サンドボックスのエッジケースを処理する」という意味で、10のファイルにわたって約520行を足し、約200行を削った変更で、4つのコミットからなります。開発元が書いた説明は、ボリュームの参照、サンドボックスのファイル操作、ワークスペースの同期、イメージのビルドの設定で境目の場合を処理するというものでした。説明には、パスの解決とビルドの引数の扱いについて回帰テスト(直した不具合が戻らないかを確かめる試験)を足したことと、関係する試験が通ったことも書かれています。

PR には、コードの点検の道具 cubic が自動で作った要約も付いています。要約は、変更を「利用者の入力がワーカーから抜け出したり、特権のある名前空間を引き継いだりできないよう、サンドボックスのパスの扱いとイメージのビルドを固める」と説明しました。ビルドの手順は、プロセスやネットワークなどを独立させた方式に切り替わり、ビルドの手順からホストのネットワークに直接つながらなくなりました。

ボリュームについては、マウントを組み立てる前に識別子とパスを検査するようになりました。CVE の記録によると、検査ができる前に保存された配備の設定にも、同じ検査が適用されます。ゲートウェイは、存在しないボリュームや、そのワークスペースが所有していないボリュームを拒むようになりました。同じ PR では、サンドボックスのファイル操作やワークスペースの同期でも、パスが決められた範囲から出ないように強化されています。

CVE の記載と開発元のリポジトリの記載の違い

2件の欠陥について、CVE の記録と開発元のリポジトリでは、書かれ方が大きく違います。CVE の記録は、欠陥の仕組みと影響を詳しく書き、評価を9.9としました。一方、修正の版のリリースノートに並ぶのは、PR 1897 の題「Handle sandbox edge cases」と、課金に関する別の PR の題の2行だけです。

開発元の説明文にも、脆弱性、セキュリティ、利用者の隔離という言葉は出てきません。隔離を固めるという趣旨は、自動で作られた要約の中にあるだけです。CVE の記録自身が、修正の版の公開時に開発元のセキュリティの勧告は出されなかったと書いています。11月2日の時点で、Beta9 のリポジトリに公開されたセキュリティの勧告は見当たりません。

GitHub の勧告データベースにも、11月2日の時点で2件の CVE に対応する勧告は載っていません。そのため、GitHub の依存関係の警告など、勧告データベースをもとに知らせる仕組みでは、まだ通知が出ていない可能性があることになります。Beta9 の利用者の多くは、リリースノートを読んだだけでは9月の版に重大な修正が入っていたと分からなかった形です。

2026年1月の CVE-2025-69820 との関係

Beta9 には、パスの扱いをめぐる脆弱性の届け出が過去にもあります。GitHub の勧告データベースには、2026年1月22日に CVE-2025-69820 が載りました。内容は、Beta9 の 0.1.552 で、パスを組み立てる関数にディレクトリの遡りの欠陥があり、離れた場所から機密の情報を得られるというものです。

この勧告の深刻度は「中」で、点数は6.0でした。勧告データベースでは、修正の版は示されていません。今回の CVE-2026-120308 も同じパスの遡りの分類ですが、対象の処理はボリュームのマウントで、点数は9.9と大きく違います。2つの欠陥が同じコードに由来するかどうかは、どちらの記録にも書かれていません。

CVE-2025-69820 の記録は、関数の名前と版を挙げた短いものでした。今回の2件は、確認した版、修正の PR とコミット、修正の版、日付まで記録に含まれています。同じ OSS の同じ分類の欠陥でも、記録の詳しさと深刻度の評価は大きく異なります。

現時点で分かっていないこと

11月2日の朝(日本時間)の時点で、CVE の記録、NVD、GitHub のリポジトリのいずれにも、次の点の答えはありません。

1つ目は、2件が実際に悪用されたかどうかです。CVE の記録は悪用の有無に触れていません。2つ目は、商用サービス Beam のクラウドでの影響です。Beam は Beta9 をエンジンとして動いていますが、クラウド側で同じ欠陥がいつまであったのか、9月の修正をいつ反映したのかは公表されていません。

3つ目は、開発元が Beam のクラウドの利用者やセルフホストの利用者に、この件を告知したかどうかです。4つ目は、開発元がセキュリティの勧告や GitHub の勧告を出すかどうかです。5つ目は、JFrog が CVE の記録とは別に、研究の報告を出すかどうかです。

6つ目は、JFrog が開発元に欠陥を知らせた日付です。CVE の記録にあるのは影響を確認した9月7日と修正の9月15日で、連絡した日と、CVE の公開を11月1日にした理由は書かれていません。7つ目は、NVD が独自の評価を付けたときに、9.9という評価が変わるかどうかです。

CVE の記録と開発元のリリースが示している修正の版

JFrog の CVE の記録が修正の版として示しているのは、CVE-2026-120306 では worker 0.1.756、CVE-2026-120308 では gateway 0.1.776 と worker 0.1.756 です。記録は、これより前のすべての版を影響を受ける版としています。修正の内容は、ビルドの手順を独立した名前空間で動かすことと、ボリュームの所有とパスを検査することです。

CVE の記録には、利用者向けの個別の作業の案内は書かれていません。11月2日の時点で、開発元のリポジトリにもこの件の告知は見当たりません。2件は保存済みの配備の設定にも検査が及ぶ形で直されたため、記録の上では、修正の版にすれば過去に作った配備も新しい検査の対象になります。

修正の版より前に、ワーカーの認証情報や他の利用者のボリュームに誰かが届いていたかどうかは、版を上げるだけでは分かりません。CVE の記録は、ワーカーが持つ Kubernetes の認証情報や、他の利用者を起動する部品が届く範囲にあったと書いています。詳しい欠陥の範囲は CVE の記録に、修正の中身は PR 1897 に書かれています。

AIのサンドボックスとして使われる基盤で起きた隔離の欠陥

Beta9 の README は、使い道の最初に、LLM が生成したコードを動かす隔離されたコンテナを挙げています。AIのエージェントが書いたコードをそのまま動かす場面では、コードの中身を人が事前に確かめないことが多く、隔離がその安全を受け持ちます。今回の2件は、その隔離の基盤そのものの欠陥です。

CVE の記録が前提にしているのは、ワークスペースのトークンを持つ利用者です。サンドボックスの中で動くAIの生成したコードが、どこまで同じことをできるかについて、記録は触れていません。1件目はイメージのビルド、2件目は配備の設定という、トークンを使って基盤に指示を出す段階の欠陥として書かれています。

修正の PR は、サンドボックスの中のファイル操作でも、パスが決められた範囲から出ないように強化しました。CVE の番号は付いていないものの、サンドボックスの外とのファイルのやり取りでも、境界を越えられる経路が見直されたことになります。これらが単独で悪用できる欠陥だったかどうかは、公表されていません。

  • 2026年11月2日の朝(UTC)に、2件の CVE の記録、NVD の掲載、GitHub のリポジトリ・リリース・PR・勧告データベースを確認して書いています。報道は見当たりませんでした。
  • NVD の評価、開発元や JFrog の告知、Beam のクラウドでの対応は、続報で加わる可能性があります。

まとめ

JFrog は11月1日、GPU 推論とAIのサンドボックスの基盤 Beta9 で、利用者どうしの隔離を破る欠陥2件を CVE として公開しました。CVE-2026-120306 はイメージのビルドがファイルの根を変えるだけの隔離で動いていた欠陥、CVE-2026-120308 はボリュームの所有を確かめずにパスを組み立てていた欠陥で、どちらも評価は9.9です。

2件とも、ワークスペースのトークンを持つ利用者が、ワーカーの機械のファイルや、同じ機械にある他の利用者の資源に届きうるとされました。修正は9月15日の worker-0.1.756 と gateway-0.1.776 に入っています。修正の PR は「エッジケースの処理」という題で、開発元のセキュリティの勧告は出されていません。GitHub の勧告データベースにも、11月2日の時点で2件に対応する勧告はありません。

悪用の有無、商用サービス Beam のクラウドでの影響と対応、利用者への告知の有無は、11月2日の時点で公表されていません。NVD の独自の評価もまだです。影響を受けるのは主に、修正より前の版の Beta9 をセルフホストし、複数の利用者に使わせている組織です。

※本記事にはAIが活用されています。編集者が確認・編集し、可能な限り正確で最新の情報を提供するよう努めておりますが、情報の完全性、正確性、最新性、有用性等について保証するものではありません。本記事の内容に基づいて行動を取る場合は、読者ご自身の責任で行っていただくようお願いいたします。

AIの導入・活用、何から始めるべきかお悩みですか?

デボノはアカウント開設・初期設定など「そもそものAI導入」から社内定着まで伴走支援。マーケティング活用など一歩進んだご相談にも対応します。

運営会社:株式会社デボノ

目次