GitLabがCritical Patch Release公開、CVSS 9.9の脆弱性 2件(CVE-2026-89078,CVE-2026-93577)を修正 Self-Managedは19.4.1などへ更新を

セキュリティニュース

投稿日時: 更新日時:

GitLabがCritical Patch Release公開、CVSS 9.9の脆弱性 2件(CVE-2026-89078,CVE-2026-93577)を修正 Self-Managedは19.4.1などへ更新を

GitLabは2026年9月23日、GitLab Community Edition(CE)とEnterprise Edition(EE)向けにCritical Patch Release 19.4.1、19.3.3、19.2.7を公開しました。今回の更新では11件のセキュリティ問題が修正され、そのうちCVE-2026-89078とCVE-2026-93577はCVSS v3.1で9.9(Critical)と評価されています。

2件はいずれも、認証済みユーザーがCI/CD設定へ細工した正規表現を与えることで、特定条件下でGitLabサーバー上の任意コード実行につながる可能性があります。CVE-2026-89078は正規表現パーサーのDouble Free、CVE-2026-93577は正規表現コンパイラーのInteger Overflowが原因です。

GitLab.comはすでに修正版が稼働しており、GitLab Dedicatedは利用者側で対応する必要はありません。Self-Managed環境についてGitLabは、影響を受けるすべてのインストールを速やかに19.4.1、19.3.3、19.2.7のいずれかへ更新するよう推奨しています。

GitLab Critical Patch Releaseのサマリー

  • GitLabは2026年9月23日、19.4.1、19.3.3、19.2.7を公開しました。
  • 対象はGitLab Community Edition(CE)とEnterprise Edition(EE)です。
  • 今回修正されたセキュリティ問題は11件です。
  • CriticalはCVE-2026-89078とCVE-2026-93577の2件で、いずれもCVSS v3.1 9.9です。
  • 2件とも認証済みユーザーによるGitLabサーバー上の任意コード実行につながる可能性があります。
  • CVE-2026-89078は正規表現解析時のDouble Freeです。
  • CVE-2026-93577は正規表現コンパイル時のInteger Overflowです。
  • 両脆弱性の影響範囲は19.2系の19.2.7未満、19.3系の19.3.3未満、19.4系の19.4.1未満です。
  • Highの脆弱性として、マージリクエストのdiff viewerにおけるXSS(CVE-2026-84739)と、GitLab Duo AIのジョブトラブルシューティング機能からCI/CD変数へアクセスできる問題(CVE-2026-92470)も修正されています。
  • GitLab.comは修正版が稼働済みです。
  • GitLab Dedicatedは利用者側での対応不要とGitLabが案内しています。
  • Self-Managed GitLabは、影響バージョンから修正版への更新が必要です。
  • GitLabは脆弱性の詳細Issueを、修正版公開から90日後に公開する方針です。
  • 2026年9月24日時点で、CVE-2026-89078とCVE-2026-93577はCISAのKEVデータに掲載されていません。
  • GitLab公式リリースには、実際の攻撃で悪用されたとの記載はありません。
項目 内容
公開日 2026年9月23日
製品 GitLab CE / EE
修正版 19.4.1、19.3.3、19.2.7
セキュリティ修正 11件
Critical 2件
High 2件
Medium 5件
Low 2件
最高CVSS 9.9(CVSS v3.1)
主な影響 認証済みユーザーからの任意コード実行、XSS、CI/CD変数漏えい、認可不備
GitLab.com 修正済み
GitLab Dedicated 対応不要
Self-Managed 更新が必要
CISA KEV 2件のCritical CVEはいずれも9月24日時点で掲載なし

CVE-2026-89078は正規表現解析時のDouble FreeでRCE

CVE-2026-89078は、GitLab CE/EEの正規表現パーサーに存在するDouble Freeの脆弱性です。

GitLabによると、認証済みユーザーがCI/CD設定に細工した正規表現を与えた場合、特定条件下でメモリ破壊が発生し、GitLabサーバー上で任意コードを実行できる可能性があります。

系列 影響を受けるバージョン 修正版
19.2 19.2.0~19.2.6 19.2.7
19.3 19.3.0~19.3.2 19.3.3
19.4 19.4.0 19.4.1

CVSS v3.1は9.9です。ベクターはCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:Lで、ネットワーク経由、攻撃複雑度はLow、必要権限はLow、ユーザー操作は不要と評価されています。

ただし認証は必要です。無認証のインターネット利用者がそのまま悪用できる脆弱性ではありません。

CVE-2026-93577はInteger Overflowから任意コード実行

CVE-2026-93577は、正規表現コンパイラーのInteger Overflowに起因するRCE脆弱性です。

こちらも、認証済みユーザーがCI/CD設定へ細工した正規表現を与えた際、特定条件下でGitLabサーバー上の任意コード実行につながる可能性があります。

影響バージョンはCVE-2026-89078と同じです。

  • GitLab 19.2系:19.2.7未満
  • GitLab 19.3系:19.3.3未満
  • GitLab 19.4系:19.4.1未満

CVSS v3.1は9.9で、ベクターはCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:Hです。

CVE-2026-89078との違いは、GitLabによる可用性への影響評価です。CVE-2026-93577ではConfidentiality、Integrity、Availabilityの3項目すべてがHighとされています。

2件はいずれも、研究者「joaxcar」氏がGitLabのHackerOne Bug Bounty Programを通じて報告しました。

11件の脆弱性を修正、HighではXSSとDuo AIのCI/CD変数漏えい

今回のパッチでは、Critical 2件を含む計11件が修正されています。

CVE CVSS 深刻度 主な影響
CVE-2026-89078 9.9 Critical CI/CD設定の正規表現解析時のDouble Freeから任意コード実行
CVE-2026-93577 9.9 Critical CI/CD設定の正規表現コンパイル時のInteger Overflowから任意コード実行
CVE-2026-84739 8.7 High Merge Request diff viewerでXSS
CVE-2026-92470 7.7 High Duo AI経由でCI/CD変数を含むdebug job traceへアクセス
CVE-2026-92874 5.4 Medium MCP-scoped tokenの権限範囲を超えた操作
CVE-2026-92530 4.3 Medium Direct TransferでMerge Requestの作成者を偽装可能
CVE-2026-8937 4.3 Medium Epic Issues REST APIから非公開child issueを参照可能
CVE-2026-92529 4.3 Medium Duo Workflow ServiceのAIガバナンス制御を回避可能
CVE-2026-10518 4.3 Medium GraphQLから非公開Security Policyを参照可能
CVE-2026-4523 3.7 Low 未認証ユーザーがCI/CD job traceを読み取れる可能性
CVE-2026-92628 3.1 Low MCP検索のRace Conditionで別ユーザー文脈の結果が返る可能性

Criticalの2件以外にも、機密性に関係する問題が複数含まれています。

特にCVE-2026-92470では、認証済みユーザーがGitLab Duo AIのトラブルシューティング機能を通じて、debug modeのジョブログに含まれる機密なCI/CD変数へアクセスできる可能性があります。

GitLabをソースコード管理だけでなくCI/CD基盤として使っている場合、CI/CD変数にはクラウド認証情報、デプロイ用トークン、外部サービスAPIキーなどが保存されていることがあります。

CVE-2026-84739はMerge Request差分表示でXSS

CVE-2026-84739はMerge Requestのdiff viewerに存在するXSS脆弱性です。

GitLabは、パス要素のサニタイズが不十分なため、認証済みユーザーが特定条件下で別ユーザーのブラウザ上に任意JavaScriptを実行できる可能性があったと説明しています。

CVSS v3.1は8.7です。

この脆弱性は影響範囲がCritical 2件より広く、13.11以降が対象です。影響するのは、13.11以降19.2.7未満、19.3系19.3.3未満、19.4系19.4.1未満です。

長期間更新していないSelf-Managed GitLabでは、今回の2件のRCEだけを基準に対象判定せず、11件それぞれの影響範囲を確認する必要があります。

CVE-2026-4523は未認証でCI/CDジョブログを読まれる可能性

11件の中でCVSSは3.7とLowですが、認証不要の問題も含まれています。

CVE-2026-4523はGraphQLのCI job trace APIに存在する認可不備で、特定条件下で未認証ユーザーがCI/CDジョブログの内容を読み取れる可能性があります。

GitLabは、ジョブログに機密な変数値が含まれる場合があると説明しています。

影響範囲はGitLab 15.11以降19.2.7未満、19.3系19.3.3未満、19.4系19.4.1未満です。

CVSSだけを見るとLowですが、ログに実際の認証情報やシークレットが出力されていた環境では、漏えい時の影響は運用状況によって変わります。

GitLab.comは修正済み、GitLab Dedicatedは対応不要

利用形態によって対応が異なります。

GitLab.comについてGitLabは、すでに修正版が稼働しているとしています。

GitLab Dedicatedについても、利用者側で対応する必要はありません。

管理者側でバージョン確認と更新が必要なのはSelf-Managed GitLabです。

GitLabは、影響を受けるすべてのSelf-Managed環境をできるだけ早く最新版へ更新するよう強く推奨しています。

直近ではGitLabのCVE-2026-85706が実際の攻撃で悪用され、CISA KEVへ追加されています。今回のCritical 2件は別の脆弱性ですが、Self-Managed GitLabで緊急更新を継続して実行できる体制が必要です。

関連記事:

単一ノードは更新時にダウンタイム、マルチノードは手順次第で無停止更新

今回のパッチにはデータベースマイグレーションが含まれています。

GitLabは、単一ノード環境ではマイグレーションが完了するまでGitLabを起動できないため、更新時にダウンタイムが発生すると説明しています。

一方、マルチノード環境では、GitLabが定めるzero-downtime upgrade手順を適切に実施すれば、停止せずに更新可能としています。

また、19.3.3と19.2.7にはpost-deploy migrationが含まれています。

本番環境でSelf-Managed GitLabを運用している場合は、単一ノードかマルチノードか、DBマイグレーションにかかる時間、バックアップとロールバック手順まで確認したうえで実施します。

CISA KEVには9月24日時点で掲載なし

CISAはKnown Exploited Vulnerabilities(KEV)カタログの公式データをGitHubでもミラーしています。

2026年9月24日時点のCISA KEVデータを確認したところ、CVE-2026-89078とCVE-2026-93577の掲載は確認できませんでした。

また、GitLabの9月23日の公式リリースにも、実際の攻撃で悪用されたとの記載はありません。

このため現時点で、両脆弱性を「実悪用確認済み」「ゼロデイ」と表現できる一次情報はありません。

GitLabは脆弱性の詳細を記載するIssueを、修正リリースから90日後に公開する方針です。公開時点では技術詳細が限定されていても、パッチ差分や製品挙動から第三者が解析を進める可能性があります。

KEV掲載や公開PoCの確認を待つのではなく、GitLab公式がCriticalと評価しているSelf-Managed環境は更新を進める必要があります。

GitLab管理者が確認したいポイント

Self-Managed GitLabを利用している組織では、次の項目を確認できます。

  • 稼働中のGitLab CE/EEバージョンを確認する
  • 19.2系は19.2.7以上、19.3系は19.3.3以上、19.4系は19.4.1以上へ更新する
  • 19.2未満でも、CVE-2026-84739やCVE-2026-4523など長い影響範囲を持つ脆弱性を確認する
  • 単一ノード環境では更新に伴うダウンタイムを事前に確保する
  • マルチノード環境ではGitLabのzero-downtime upgrade手順に従う
  • CI/CD設定を作成・変更できるユーザーと外部コントリビューターの権限を棚卸しする
  • 不要なGuest/Developer権限や長期間未使用アカウントを削除する
  • CI/CD変数に保存しているクラウドキー、デプロイトークン、APIキーを確認する
  • Debug traceにシークレットが出力される設定がないか確認する
  • GitLab Duo AIやMCP機能を利用している場合、対象CVEの影響を個別に確認する
  • GitLabのWeb、Rails、Sidekiq、監査ログに不審なCI/CD設定変更や予期しない処理がないか確認する
  • 更新後もGitLab公式の追加情報、CISA KEV、PoC公開状況を継続確認する

GitLabはソースコード、CI/CDシークレット、ソフトウェア供給網の認証情報を集約するため、GitLabサーバー上でのRCEは単体サーバーの侵害にとどまらない可能性があります。

今回の2件はいずれも認証が必要ですが、Self-Managed環境では「外部から未認証で攻撃できない」ことを理由に対応を後回しにせず、CI/CD設定を変更できる主体とサーバー側の権限を含めて更新優先度を判断する必要があります。

出典