GitLab AI Gatewayに重大な脆弱性:CVE-2026-90970

セキュリティニュース

投稿日時: 更新日時:

GitLab AI Gatewayに重大な脆弱性:CVE-2026-90970

GitLabは2026年10月2日、GitLab AI Gatewayに影響する重大な脆弱性「CVE-2026-90970」を修正したCritical Patch Releaseを公開しました。

脆弱性は、GitLab Duo Agent PlatformのカスタムFlowで使用されるプロンプトテンプレートの処理に存在します。認証済みでDuo Agent Platformへアクセスできるユーザーが、細工したFlow設定を作成することでプロンプトテンプレートのサンドボックスを脱出し、AI Gateway上で任意のコマンドを実行できる可能性があります。

GitLabによるCVSS v3.1は9.9(Critical)です。

影響を受けるのはGitLab Self-Managed環境でSelf-Hosted AI Gatewayを運用している組織です。GitLab.com、GitLab Dedicated、GitLab Self-ManagedでGitLabホスト型AI Gatewayを利用している環境には、すでに修正が適用されています。

CVE-2026-90970のサマリー

  • GitLabが2026年10月2日にCritical Patch Releaseを公開
  • CVE番号はCVE-2026-90970
  • 対象はGitLab AI Gateway
  • GitLabによるCVSS v3.1は9.9(Critical)
  • CWEはCWE-1336「テンプレートエンジンで使用される特殊要素の不適切な無害化」
  • 認証済みユーザーによる攻撃が前提
  • 攻撃にはGitLab Duo Agent Platformへのアクセス権限が必要
  • 細工したFlow設定からプロンプトテンプレートのサンドボックスを脱出できる可能性
  • 成功するとAI Gateway上で任意コマンド実行につながる
  • 影響バージョンは18.1.6以降19.2.4未満、19.3系19.3.2未満、19.4系19.4.1未満
  • 修正版は19.2.4、19.3.2、19.4.1
  • GitLabホスト型AI Gatewayには修正済み
  • 対応が必要なのは主にSelf-Hosted AI Gateway利用組織
  • GitLab公式アドバイザリでは実際の攻撃で悪用されたとの記載はない
項目 内容
CVE CVE-2026-90970
対象 GitLab AI Gateway
深刻度 Critical
CVSS v3.1 9.9
CWE CWE-1336
攻撃条件 認証済みユーザー、Duo Agent Platformへのアクセス
主な影響 サンドボックス脱出、AI Gateway上での任意コマンド実行
修正版 19.2.4、19.3.2、19.4.1
GitLabホスト型 修正済み
Self-Hosted AI Gateway 更新が必要

CVE-2026-90970はプロンプトテンプレートの処理不備

CVE-2026-90970は、GitLab Duo Agent PlatformのカスタムFlowで利用されるプロンプトテンプレートの処理に関する脆弱性です。

GitLabは、特定条件下で認証済みユーザーが細工したFlow設定を用いることで、プロンプトテンプレートに設けられたサンドボックスを脱出できると説明しています。

サンドボックスを脱出した場合、AI Gatewayが稼働する環境で任意のコマンドを実行される可能性があります。

NISTのNVDでは、この脆弱性をCWE-1336「Improper Neutralization of Special Elements Used in a Template Engine」に分類しています。

CVSS v3.1ベクトルは次のとおりです。

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

ネットワーク経由で悪用でき、攻撃難易度は低く、低い権限で実行可能、ユーザー操作も不要という評価です。一方、認証自体は必要で、Duo Agent Platformへアクセスできるユーザーであることが前提となります。

認証なしで悪用できる脆弱性ではない

CVSS 9.9という高いスコアですが、CVE-2026-90970は認証不要のRCEではありません。

GitLabが示している攻撃条件は、

  1. GitLabへ認証済みである
  2. Duo Agent Platformへアクセスできる
  3. 細工したFlow設定を作成できる
  4. そのFlowからプロンプトテンプレートのサンドボックスを脱出する

というものです。

そのため、インターネットから誰でも直接AI GatewayへRCEできる脆弱性として扱うのは正確ではありません。

ただし、すでに侵害されたユーザーアカウントや、内部の低権限ユーザーがDuo Agent Platformへアクセスできる環境では、AI Gatewayの実行基盤へ影響を広げる経路になり得ます。

影響するGitLab AI Gatewayのバージョン

GitLabが公表した影響範囲は次のとおりです。

GitLab AI Gateway 影響範囲 修正版
18系~19.2系 18.1.6以上19.2.4未満 19.2.4
19.3系 19.3以上19.3.2未満 19.3.2
19.4系 19.4以上19.4.1未満 19.4.1

GitLabはSelf-Hosted AI Gatewayを運用するすべての対象顧客に対し、19.2.4、19.3.2、19.4.1のいずれかへ速やかに更新するよう強く推奨しています。

GitLabは今回の公開前に、Self-Hosted AI Gatewayの顧客へ個別に連絡し、更新を案内したとも説明しています。

GitLab.comやGitLab Dedicatedは利用者側の対応不要

今回の脆弱性で、すべてのGitLab利用者がアップデート作業を行う必要があるわけではありません。

GitLabによると、同社が管理するGitLabホスト型AI Gatewayにはすでに修正が適用されています。

利用者側の対応が不要なのは次の環境です。

  • GitLab.com
  • GitLab Dedicated
  • GitLab Self-ManagedでGitLabホスト型AI Gatewayを利用している環境

一方、GitLab Self-ManagedでSelf-Hosted AI Gatewayを構築している組織は、自社側でAI Gatewayを更新する必要があります。

GitLab公式ドキュメントでは、AI GatewayをGitLab DuoのAI機能へアクセスするための独立したサービスとして説明しています。

そのため、通常のGitLab CE/EE本体が最新バージョンであっても、別途運用しているAI Gatewayのコンテナやサービスが古いまま残っていないか確認する必要があります。

2026年9月にはGitLab CE/EE本体でも複数のCritical脆弱性が修正されていますが、CVE-2026-89078・CVE-2026-93577を修正したGitLab Critical Patch Releaseとは今回の対象コンポーネントが異なります。

AI GatewayはGitLab DuoとLLMの間に位置するサービス

GitLab AI Gatewayは、GitLab DuoのAI機能と大規模言語モデル(LLM)の間に位置する独立サービスです。

GitLab公式ドキュメントでは、GitLab Self-Managed環境でもGitLabがホストするAI Gatewayを利用できますが、GitLab Duo Self-Hostedでは自社環境内へAI Gatewayを配置できます。

Self-Hosted構成では、

  • GitLabインスタンス
  • Self-Hosted AI Gateway
  • 自社で管理するLLMまたは外部モデル基盤

などを組み合わせてAI機能を構成します。

AI Gatewayでは、プロンプト生成、モデルへのリクエスト、Duo Agent PlatformのFlow処理などが実行されます。

そのためAI Gatewayで任意コマンド実行が成立した場合、単なる生成AIの誤回答ではなく、AI基盤を構成するサーバー・コンテナ側の侵害につながる可能性があります。

AI Gatewayが攻撃対象になる事例はGitLabに限りません。セキュリティ対策Labでは、LiteLLMのAI GatewayでRCEなどにつながるCVE-2026-35029が実際の攻撃で狙われた事例も取り上げています。

「プロンプトインジェクション」とは異なる脆弱性

今回の問題は、名称に「prompt template」が含まれていますが、一般的なプロンプトインジェクションと同一ではありません。

プロンプトインジェクションは、LLMへ与えられる自然言語の指示を操作し、本来とは異なる応答や動作を引き起こす攻撃です。

CVE-2026-90970は、GitLabが管理するプロンプトテンプレート処理の実装上の問題で、細工したFlow設定からテンプレートのサンドボックスを脱出し、AI GatewayのOS側で任意コマンド実行につながる点が異なります。

つまり、

  • LLMの指示解釈をだますだけの問題ではない
  • AI Gatewayの実行環境そのものへ影響する
  • 一般的なPrompt Injection対策だけでは修正できない
  • GitLabが提供した修正版への更新が必要

という脆弱性です。

プロンプトインジェクションの仕組み自体については、プロンプトインジェクションとは?直接・間接攻撃の仕組みと企業の対策で整理しています。

2026年2月にもGitLab AI GatewayでCVSS 9.9の類似問題

GitLab AI Gatewayでは2026年2月にも、テンプレート展開に関連するCritical脆弱性「CVE-2026-1868」が修正されています。

CVE-2026-1868はDuo Workflow Serviceで、ユーザー入力を含むFlow定義のテンプレート展開が適切に制御されていなかった問題です。

こちらもGitLabによるCVSSは9.9で、悪用された場合にはサービス拒否やAI Gateway上でのコード実行につながる可能性がありました。

GitLabは18.6.2、18.7.1、18.8.1で修正しています。

CVE-2026-90970も同じCWE-1336に分類されており、Duo Agent PlatformのFlowとテンプレート処理が再び主要なセキュリティ境界になっています。

実際の攻撃での悪用はGitLab公式では確認されていない

GitLabの10月2日のCritical Patch Releaseには、CVE-2026-90970が実際の攻撃で悪用されたとの記載はありません。

NVDに掲載されたCISA CoordinatorのSSVC評価でも、10月2日時点のExploitationは「none」とされています。

そのため、現時点で「ゼロデイ攻撃で悪用中」「実際の攻撃で悪用確認」と断定することはできません。

ただし、GitLabはCVSS 9.9のCriticalとして、Self-Hosted AI Gatewayを利用する顧客へ即時更新を推奨しています。

脆弱性対応では「実悪用が確認されていない」ことだけを理由に更新を先送りせず、CVSS、攻撃条件、外部公開状況、権限境界、対象資産の重要度などを組み合わせて優先順位を決める必要があります。

脆弱性管理のプロセスと優先順位付けでは、CVSSだけではなく実悪用や資産状況を含めた対応判断を整理しています。

情報システム部門が確認したいこと

GitLab DuoやSelf-Hosted AI Gatewayを運用している組織では、次の項目を確認します。

  • GitLab Self-Hosted AI Gatewayを利用しているか
  • GitLabホスト型AI Gatewayなのか、自社ホスト型なのか
  • AI Gatewayの実際の稼働バージョン・コンテナタグ
  • 18.1.6以降19.2.4未満が残っていないか
  • 19.3.0~19.3.1が残っていないか
  • 19.4.0が残っていないか
  • Duo Agent Platformへアクセスできるユーザー・グループ
  • Custom Flowを作成・変更できる権限
  • 不要なユーザーへDuo Agent Platform権限を付与していないか
  • AI Gatewayの監査ログ・コンテナログ
  • 不審なFlow作成・変更が行われていないか
  • AI Gatewayプロセスから通常想定しないOSコマンドや子プロセスが実行されていないか
  • AI Gatewayが保持するJWT署名鍵やモデル接続用認証情報の管理状況

修正版を適用する際は、GitLab本体のバージョンだけで判断せず、Self-Hosted AI Gateway自体のバージョンを確認します。

GitLabはAI Gatewayのインストールドキュメントでも、JWT署名などに使用する鍵ファイルを機密情報として扱い、公開しないよう案内しています。

出典