GPUStackに認証回避の脆弱性2件、悪用確認と修正版あり
GPUStackに、認証なしで管理者になれる脆弱性とSAMLログインのなりすまし脆弱性が公表され、前者は実際の攻撃も確認されています。2.2.2以上へ更新し、不審な管理者操作がないかも調べてください。
同じ発表の脆弱性 2 件
- CVE-2026-102895 重大 9.8
- CVE-2026-102894 重大 9.1
急ぎ度: 至急
認証なしで管理者権限を得られるCVE-2026-102895は、CVSS v3が9.8で、2.1.1の環境への実際の攻撃が確認されており、修正版も出ているためです。
関係があるか
AIモデルの提供やGPUインスタンスの管理にGPUStackを使い、管理画面やAPIにネットワークから届く状態の組織が対象です。SAMLを設定していなくても影響を受けます。
| 製品 | 影響を受ける版 | 修正版 |
|---|---|---|
| GPUStack(gpustack) | 2.2.2より前の版。認証回避は2.2.0より前、SAMLのなりすましは0.7.1から2.2.2より前が該当し、2.2.0以上でもSAMLの脆弱性は残ります | 2.2.2以降。認証回避は2.2.0で修正され、SAMLの脆弱性は2.2.2で修正されました |
確かめ方
- 1導入方法ごとに、動いているGPUStackの版を確認します。コンテナならイメージのタグ、pipなら次のコマンドで分かります。
- 2版が2.2.2より前なら、両方の脆弱性に該当するとみて対応します。2.2.0や2.2.1に更新済みでも、SAMLの脆弱性が残ります。
- 3管理画面やAPIが、社内の広い範囲やインターネットから届くかを、ファイアウォールとリバースプロキシの設定で確認します。
- 4認証回避の影響する版の下限と、設定上の注意点は、GPUStackのGitHubにあるセキュリティアドバイザリで確認してください。
何が起きたか
GPUStackは、AIモデルの提供とGPUクラスターの管理に使うオープンソースのソフトウェアです。この管理サーバーに、ログインの確認をすり抜けて管理者として操作できる脆弱性が2件見つかり、2026年11月4日に公表されました。悪用されると、モデルや利用者の設定変更、秘密情報の読み出し、サーバー上でのコード実行につながります。
- CVE-2026-102895: 送信元がサーバー自身に見える通信を管理者として扱うため、認証なしで管理操作、恒久的な管理者APIキーの作成、秘密情報の読み出し、コード実行まで行える(CVSS v3は9.8)
- CVE-2026-102894: SAMLのコールバックが署名などを検証せずにログイン状態を発行するため、管理者を含む既存ユーザーになりすませる。新しい非管理者アカウントも作れる(CVSS v3は9.1)
CVE-2026-102895については、2.1.1の環境に対する実際の攻撃が確認されています。
攻撃の流れ
-
1
管理サーバーに到達
GPUStackの管理画面やAPIにネットワーク経由で届く。
-
2
認証をすり抜ける
送信元がサーバー自身に見える通信、または未検証のSAML応答で、管理者として扱われる。
-
3
管理操作と情報取得
ユーザーやモデルの変更、ワーカーやクラウドの秘密情報の読み出しを行う。
-
4
居座りとコード実行
恒久的な管理者APIキーを作り、サーバー上でコードを実行して侵入を続ける。
どう悪用されるか
2件とも、事前のログインや利用者の操作は要りません。GPUStackにネットワーク経由で届く相手なら、条件を満たします。
CVE-2026-102895は、送信元が127.0.0.1に見えるときに管理者として扱われる仕組みが突かれます。同じホスト上のリバースプロキシを経由した通信や、クライアントが付けたヘッダーの値でも、そう見えてしまいます。設定のforce_auth_localhostがfalse(初期値)のままの環境が対象です。
CVE-2026-102894は、SAMLを設定していなくても成立します。SAMLの応答に含まれていたIDなどが検証されないため、攻撃者は既存ユーザーを名指しでき、取得済みの署名付き応答を再利用することもできます。
被害は、管理者権限の奪取が中心です。ユーザーとモデルの設定変更、恒久的な管理者APIキーの作成、ワーカーとクラウド事業者の秘密情報の漏えい、コード実行が起こりえます。実際に攻撃が確認されたのは、CVE-2026-102895の側です。
今すぐやること
-
1
2.2.2以上へ更新する
2.2.0への更新だけでは、SAMLの脆弱性が残ります。更新が終わるまでは、管理サーバーに届く範囲を絞ったまま運用してください。
pip show gpustack -
2
侵害の跡を調べる
見覚えのない管理者ユーザーやAPIキー、新規の一般アカウント、モデル設定やインフェレンスバックエンドの変更を確認します。リバースプロキシやアクセスログで、POST /v2/inference-backends/from-yamlへの不審な呼び出しも調べます。
-
3
秘密情報を入れ替える
更新前に外部から届く状態だった場合は、ワーカーとクラウド事業者の認証情報、管理者のAPIキーを入れ替えます。読み出されていないと言い切れないためです。
-
4
公開範囲を見直す
管理画面とAPIが、インターネットや社内の広い範囲に開いていないかを確認し、管理者の端末だけに絞ります。ベンダーの告知に書かれた設定上の注意点も読んでください。
すぐ更新できないとき
更新できない間は、GPUStackの管理画面とAPIに届く範囲を、管理者の端末や管理用のネットワークだけに絞ってください。ただしこれはつなぎで、脆弱性が消えるわけではありません。SAMLを設定していなくても影響を受けるため、SAMLを使わないことは回避策になりません。設定による回避の可否は、ベンダーの告知で確認してください。
背景
GPUStackは、複数のGPUサーバーにAIモデルを配置して、推論のAPIとして提供するための管理基盤です。管理者権限を取られると、ワーカーのサーバーやクラウドの認証情報にも手が届き、GPU資源への不正利用や、ほかのシステムへの足がかりにされかねません。
今回の2件は、どちらも「誰が来たか」の判断を誤る種類です。送信元アドレスやリバースプロキシ越しの付加情報を信用すると、外から来た通信が内部の通信に見えてしまいます。SAMLも、署名を検証せずに応答の中身を信じると、誰でも他人になりすませます。CVE-2026-102895の修正が2.2.0、CVE-2026-102894の修正が2.2.2と別の版に分かれているため、更新の目標を間違えやすい点に注意が要ります。
よくある質問
Q.GPUStackを社内ネットワークだけで使っていれば、関係ありませんか。
まだ分かっていないこと
- CVE-2026-102895の攻撃の件数や被害の規模、攻撃者については示されていません。
- CVE-2026-102894が実際の攻撃に使われたかどうかは示されていません。
この記事は、取得元の公開情報をもとに、人が監修しながらAIを活用して執筆しています。執筆と監修は佐々木 航が担い、公開したあとも人が内容を確認しています。誤りに気づいたときは直し、記事の末尾に訂正の行を残します。対応を決める前に、下の原文と参照先も確認してください。
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。
GPUStack is an open-source GPU cluster manager for AI model serving and GPU instance provisioning. Prior to 2.2.0, get_current_user in gpustack/api/auth.py treated a loopback request source as the built-in administrator when force_auth_localhost was false, which was the default. A remote request could appear to originate from 127.0.0.1 because client_ip_getter accepted a same-host reverse proxy peer or a client-supplied X-GPUStack-Real-IP loopback value. The bypass allowed unauthenticated administrative access, including user and model changes, persistent administrator API-key creation, disclosure of worker and cloud-provider secrets, and code execution through POST /v2/inference-backends/from-yaml. Exploitation was observed in the wild against a 2.1.1 deployment. This issue is fixed in version 2.2.0.
出典: CVE.org (CVE Program・cvelistV5) NVD