Gemini CLIのコンテナ起動処理の脆弱性CVE-2026-12537

タグ
国外
目次
  1. 脆弱性の内容
    1. コンテナ起動処理と信頼の判定
    2. ツール許可リストの回避
  2. 時系列
  3. 対象の製品と版
  4. 悪用の状況
  5. 修正と回避策
  6. 未公表の事項
  7. 注
  8. 出典
  9. 更新記録

CVE-2026-12537のCVEレコードでは、GoogleのGemini CLIとGitHub Actionのrun-gemini-cliで、ヘッドレスのCI基盤では権限の無い攻撃者が細工した.gemini/.envファイルにより、サンドボックスより前にホスト上のコード実行に至りうる⁠[1]。The Hacker Newsは2026年8月7日、CISAのKEVカタログにこの脆弱性が無いことを確かめたと報じた⁠[12]。

脆弱性の内容

表1:CVE-2026-12537の評価と分類
項目値資料
アドバイザリGHSA-wpqr-6v78-jr5g(CVEレコードの参照先)⁠[1]
CVSS(CNAのGoogle Cloud)v4.0で10(CRITICAL)⁠[1]
CVSS(NVD)v3.1で7.8(攻撃元区分はローカル、ユーザーの関与が必要)⁠[2]
CWE(CNAのGoogle Cloud)CWE-20(不適切な入力確認)、攻撃パターンはCAPEC-88(OSコマンドインジェクション)⁠[1]
CWE(NVD)CWE-78を主、CNAのCWE-20を副の分類とした⁠[2]
報告者Novee Securityの研究者ほか1名⁠[1]

CVEレコードは、原因をコンテナ起動処理でのOSコマンドの無害化の不備とした⁠[1]。

The Hacker Newsの4月30日の記事によると、Googleはアドバイザリで、以前の版のGemini CLIはCI環境(ヘッドレスモード)で、設定と環境変数を読み込むためにワークスペースのフォルダを自動で信頼していたと説明した⁠[9]。信頼できないディレクトリの内容で使うと、ローカルの.gemini/ディレクトリの悪意ある環境変数から遠隔コード実行に至りうる⁠[9]。影響が及ぶのは、ヘッドレスモードのGemini CLIを使うワークフローだけである⁠[9]。

Novee Securityは脆弱性のページで、悪意のある.gemini/ディレクトリを含むプルリクエストをCIのパイプラインがGemini CLIで処理すると、攻撃者が環境変数を注入し、遠隔コード実行を果たしうると説明した⁠[3]。

Pillar Securityの報告では、Googleのアドバイザリは、Pillar Securityが見つけたワークフローのプロンプトインジェクションと、Novee Securityの研究者が見つけたヘッドレス環境のフォルダの信頼の問題の2つを扱う⁠[7]。The Hacker Newsは8月7日の記事で、アドバイザリ自体にはCVEの記載が無く、Google CloudがCNAとして別に番号を公開したと報じた⁠[12]。

コンテナ起動処理と信頼の判定

Novee Securityの9月8日の報告では、ヘッドレスモードの判定はCI=trueかGITHUB_ACTIONS=trueで、その場合はワークスペースを信頼済みとして扱った⁠[6]。信頼済みのときは、.gemini/.envが変数の許可リストを通らずにprocess.envへ読み込まれた⁠[6]。送信を制限するプロキシ(GEMINI_SANDBOX_PROXY_COMMAND)を起動する処理は、値を文字列でつなぎ、シェルを通して実行していた⁠[6]。主のサンドボックスの起動は、配列の引数を使い、シェルを通さない形だった⁠[6]。

Novee Securityは、Dockerのサンドボックス、環境変数の消去、coreToolsの許可リストの3層の防御は、いずれもサンドボックスの中を守るものだったとした⁠[6]。親プロセスの環境にあったGITHUB_TOKEN、GEMINI_API_KEY、利用できるOIDCの認証情報などの秘密情報は、消去の処理より前に露出した⁠[6]。4月29日の報告では、ワークフローが届く秘密情報・認証情報・ソースコードに手が届き、トークンの窃取やサプライチェーンへの横展開に足りるとしていた⁠[4]。

ツール許可リストの回避

Pillar Securityの5月5日の報告では、同社の研究者がGoogleのGeminiを使うGitHubのワークフローにCVSS 10の脆弱性を見つけ、TrustIssuesと名付けた⁠[7]。gemini-cliで脆弱性を確かめ、同じワークフローが少なくとも8つの別のGoogleのリポジトリにもあったとした⁠[7]。

Novee Securityは脆弱性のページで、以前の版の--yoloはsettings.jsonに定めた細かいツールの許可リストを無視し、プロンプトインジェクションでモデルに任意のシェルコマンドを実行させうる状態だったと説明した⁠[3]。

Novee Securityの8月6日の報告では、google-gemini/gemini-cliは、誰かがIssueを開くと動くgemini-automated-issue-dedup.ymlで、yoloモードのrun-gemini-cliを本番で動かしていた⁠[5]。子プロセスの環境変数は消されていたが、親プロセスの環境は/procから読めた⁠[5]。Novee Securityは、Issue 1件からこのリポジトリのサプライチェーンの侵害に至る経路を示し、下流は月約200万インストールとした⁠[5]。

目次へ

時系列

時系列
日付主体内容資料
2026年4月16日Pillar SecurityGoogleのOSS脆弱性報奨金プログラムに、google/dracoでの概念実証を付けて報告した⁠[7]
2026年4月16日Google報告を受理し、製品チームに内部のバグを起票して、露出したIssueを削除した⁠[7]
2026年4月17日Google緩和策として、複数のリポジトリで脆弱なワークフローを無効にした⁠[7]
2026年4月20日Pillar Securitygemini-cliに対するサプライチェーン侵害の概念実証を提出した⁠[7]
2026年4月24日GoogleアドバイザリGHSA-wpqr-6v78-jr5gを公開し〔注1〕、修正版を示した⁠[7]
2026年4月29日Novee Security脆弱性の報告を公開した⁠[4]
2026年5月5日Pillar Security研究の報告を公開した⁠[7]
2026年6月17日Google CloudCVE-2026-12537を予約した⁠[1]
2026年6月24日Google CloudCVE-2026-12537を公開した⁠[1]
2026年6月24日NVDCVE-2026-12537を登録した⁠[2]
2026年7月2日NVD分析済みとして更新し、CVSS v3.1の評価を付けた⁠[2]
2026年8月5日Novee SecurityBlack Hat USAで研究を発表した⁠[12]
2026年9月8日Novee Security技術詳細の報告を公開した⁠[6]

目次へ

対象の製品と版

Gemini CLIは、Googleが2025年6月25日にプレビューで公開したオープンソース(Apache 2.0)のAIエージェントである⁠[18]。GoogleはGemini CLI GitHub Actionsを8月6日にベータで公開し、Issueの振り分けとプルリクエストのレビューを担うとした⁠[19]。

表2:影響を受ける版と修正版
製品影響を受ける版修正版資料
Gemini CLI(@google/gemini-cli)の安定版0.39.1より前0.39.1⁠[1、7]
Gemini CLIのプレビュー版0.40.0-preview.3より前0.40.0-preview.3⁠[3、7]
run-gemini-cli(google-github-actions/run-gemini-cli)0.1.22より前0.1.22⁠[1、7]

NVDの構成情報は、0.40.0のpreview2も脆弱な版に含めた⁠[2]。Novee Securityは、修正版より前のGemini CLIのGitHub Actionはすべて影響を受けたとした⁠[4]。Novee Securityが8月6日の報告で数えた同じパターンのリポジトリは、114だった⁠[5]。

目次へ

悪用の状況

CVEレコードに付いたCISAのADP(Vulnrichment)のSSVCでは、悪用(Exploitation)がnone、自動化可能(Automatable)がyes、技術的影響(Technical Impact)がtotalだった⁠[1]。Daily CyberSecurityは6月29日の記事で、ベンダーは実際の悪用を確認しておらず、公開の概念実証コードも無いと報じた⁠[11]。

The Hacker Newsの8月7日の記事は、確かめた資料に標的への悪用を示すものは無いと書いた⁠[12]。

目次へ

修正と回避策

CVEレコードによると、対策は最新版のGemini CLIを使い、run-gemini-cliのベストプラクティスの文書(trust-guidance.md)に従うことである⁠[1]。

The Hacker Newsが引用したアドバイザリで、Googleは、フォルダの信頼なしにヘッドレスモードでGemini CLIを使う場合は、信頼の仕組みを設定するために手動の見直しが要るとした⁠[9]。安定版の修正版ではポリシーエンジンが--yoloモードでもツールの許可リストを評価するため、この挙動に頼っていたワークフローは、許可リストを作業に合わせて直さないと黙って失敗しうる⁠[9]。

  • 信頼できる入力(信頼できる共同作業者のプルリクエストのレビューなど)で動くワークフローでは、信頼の環境変数を'true'に設定する〔注2〕⁠[9]。
  • 信頼できない入力で動くワークフローでは、google-github-actions/run-gemini-cliにあるGoogleの手引きでワークフローを強化してから、この環境変数を設定する⁠[9]。

Novee Securityの技術詳細の報告では、Googleの修正で、ワークスペースの設定には明示的な信頼が要るようになり、CIでの自動の信頼は無くなった⁠[6]。設定はチェックアウトしたワークスペースから引き継がず、Actionに意図して渡す形になり、生の環境変数で展開する回避経路も修正された⁠[6]。Novee Securityはこの更新を、脆弱性のページで互換性を壊す変更と書いた⁠[3]。

Pillar Securityは報告で、Googleがコマンドの無害化を足し、ベストプラクティスと例のワークフローも改めたと説明した⁠[7]。

Gemini CLIの文書によると、信頼されていないフォルダでは、プロジェクトの.envファイルとワークスペースの設定(.gemini/settings.json)を読み込まない⁠[16]。ヘッドレス環境では信頼の確認を表示できず、フォルダが信頼されていなければFatalUntrustedWorkspaceErrorで終了する⁠[16]。回避するには、--skip-trustを付けて実行するか、信頼の環境変数を設定する⁠[16]。

Daily CyberSecurityは4月28日の記事で、run-gemini-cliは通常、既定で最新版を実行すると報じた⁠[8]。

目次へ

未公表の事項

  • Pillar Securityが報告したツール許可リストの回避に割り当てたCVEの有無
  • Googleのリポジトリの秘密情報が第三者に渡ったかどうかについてのGoogleの説明
  • CVEレコードに報告者として載ったもう1名の所属と報告の内容

注

  • 〔注1〕Novee Securityの脆弱性のページは、公開日を4月23日と表示している⁠[3]。
  • 〔注2〕The Hacker Newsが引用したアドバイザリは変数名をGEMINI_TRUST_WORKSPACE、Gemini CLIの文書はGEMINI_CLI_TRUST_WORKSPACEと書いた⁠[9、16]。

出典

公的機関

調査・観測

報道機関

背景資料

更新記録

  • 2026年7月1日:公開した。
  • 2026年7月2日:NVDの7月2日の更新(出典2)で付いたCVSS v3.1の評価とCWE-78の分類、構成情報を「脆弱性の内容」「時系列」「対象の製品と版」に加えた。
  • 2026年8月6日:Novee Securityの8月6日の報告(出典5)が示したgemini-cliリポジトリのワークフローと同じパターンのリポジトリの数を「脆弱性の内容」「対象の製品と版」に加えた。
  • 2026年8月7日:The Hacker Newsの8月7日の記事(出典12)が伝えたBlack Hat USAでの発表、アドバイザリとCVEの関係、KEVのカタログへの不掲載を「時系列」「脆弱性の内容」「悪用の状況」に加え、リードの最後の文を改めた。
  • 2026年8月26日:Novee Securityの脆弱性のページの8月26日の更新(出典3)を「出典」に記した。
  • 2026年9月8日:Novee Securityの9月8日の報告(出典6)が示した信頼の判定とプロキシの起動処理の仕組みを「脆弱性の内容」に、修正の内容を「修正と回避策」に加えた。
  • 2026年10月6日:Novee Securityの報告3本(出典4、5、6)の10月6日の更新を「出典」に記した。

目次へ