GitLab の CI/CD 正規表現の脆弱性:CISA KEV の記載、修正版、最初に確認すること
GitLab は、Community Edition と Enterprise Edition にある、認証されていないユーザーが CI/CD 設定内の細工された正規表現を通じて GitLab サーバー上でコードを実行できる可能性のある脆弱性を修正しました。CISA はこれを悪用が確認されたものとして掲載し、フォレンジックトリアージが必要だと示しています。以下の各記述は公式の出典にリンクしており、引用文もワンクリックで確認できます。このページには実行するコマンドを載せていません。
保存済みの出典と照合した最終確認日:
何が起きたか
-
CISA は に CVE-2026-97229 を Known Exploited Vulnerabilities カタログに追加し、GitLab Community Edition and Enterprise Edition Integer Overflow or Wraparound Vulnerability という名前で掲載しました。カタログに記載された期限は です。
出典: CISA Known Exploited Vulnerabilities catalog
引用文
"cveID": "CVE-2026-97229", "vendorProject": "GitLab", "product": "Community Edition and Enterprise Edition", "vulnerabilityName": "GitLab Community Edition and Enterprise Edition Integer Overflow or Wraparound Vulnerability", "dateAdded": "2026-10-29",
"dueDate": "2026-11-01",
-
カタログは、このエントリーについてフォレンジックトリアージが必要であると示しています。必要な対応では、CISA の Forensics Triage Requirements が参照されています。
出典: CISA Known Exploited Vulnerabilities catalog
引用文
"forensicTriage": "Yes",
ensuring compliance with CISA’s BOD 26-04 Prioritizing Security Updates Based on Risk (see URL in Notes) guidance and CISA’s “Forensics Triage Requirements” (see URL in Notes).
-
カタログはこの欠陥を、認証されていないユーザーが、CI/CD 設定内の細工された正規表現を通じて GitLab サーバー上で任意のコードを実行できる可能性があるものと説明しています。
出典: CISA Known Exploited Vulnerabilities catalog
引用文
could allow an unauthenticated user to execute arbitrary code on the GitLab server via a specially crafted regular expression in a CI/CD configuration, due to insufficient regular expression validation.
-
GitLab のパッチリリースノートは、CVE-2026-97229 を CI/CD の正規表現コンパイラーにおける整数オーバーフローの問題として説明しています。GitLab によると、一定の条件下で、認証されていないユーザーが、CI/CD 設定内の細工された正規表現を通じて GitLab サーバー上で任意のコードを実行できる可能性があり、評価は CVSS 10.0 です。
出典: GitLab patch release notes
引用文
CVE-2026-97229 - Integer Overflow issue in CI/CD Regular Expression Compiler impacts GitLab CE/EE
GitLab has remediated an issue that, under certain conditions, could have allowed an unauthenticated user to execute arbitrary code on the GitLab server via a specially crafted regular expression in a CI/CD configuration, due to insufficient regular expression validation.
CVSS 10.0 ( CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H )
影響を受ける GitLab と修正版
GitLab が GitLab Community Edition(CE)と Enterprise Edition(EE)について示しているバージョンです。ここに載せていないベンダーや製品は、このページの対象外です。
-
GitLab は影響を受ける CE と EE のバージョンを、19.2 以降 19.2.8 より前、19.3 以降 19.3.5 より前、19.4 以降 19.4.2 より前のすべてのバージョンとしています。
出典: GitLab patch release notes
引用文
Impacted Versions: GitLab CE/EE: all versions from 19.2 before 19.2.8, 19.3 before 19.3.5, and 19.4 before 19.4.2
-
GitLab は に、CE と EE 向けに 19.4.2、19.3.5、19.2.8 をリリースしました。GitLab は、セルフマネージドのすべてのインストールをこれらのいずれかのバージョンへ直ちにアップグレードするよう強く推奨しています。
出典: GitLab patch release notes
引用文
On October 12, 2026, we released versions 19.4.2, 19.3.5, 19.2.8 for GitLab Community Edition (CE) and Enterprise Edition (EE).
we strongly recommend that all self-managed GitLab installations be upgraded to one of these versions immediately.
-
GitLab は、GitLab.com と GitLab Dedicated を含む GitLab 自身が管理するインフラは、パッチ適用済みのままだとしています。したがって、影響を受けるバージョンの一覧が問題になるのはセルフマネージドのインストールです。
出典: GitLab patch release notes
引用文
GitLab-managed infrastructure, including GitLab.com and GitLab Dedicated, remains patched.
-
GitLab は、このパッチリリースにはデータベースマイグレーションが含まれると警告しています。シングルノードのインスタンスでは、マイグレーションが完了するまで GitLab を起動できないため、アップグレード中にダウンタイムが発生します。マルチノードのインスタンスでは、適切なゼロダウンタイムのアップグレード手順を踏めば、ダウンタイムなしで適用できます。
出典: GitLab patch release notes
引用文
This patch includes database migrations that may impact your upgrade process.
Single-node instances : This patch will cause downtime during the upgrade as migrations must complete before GitLab can start.
Multi-node instances : With proper zero-downtime upgrade procedures , this patch can be applied without downtime.
欠陥の原因
-
Ruby プロジェクトは、Ruby の正規表現エンジン Onigmo のバグに対する修正をリリースしたと述べています。GitLab は、このバグが GitLab サーバーでのリモートコード実行に使えることを見つけました。
引用文
They fix several bugs in Ruby’s regular expression engine (Onigmo) that GitLab found could be used for remote code execution on GitLab servers.
-
Ruby プロジェクトによると、GitLab は CI 設定のパターンなど、ユーザーが指定した正規表現をコンパイルします。GitLab は、細工されたパターンによって、Ruby がコンパイルする際にメモリが破壊され得ることを見つけました。
引用文
GitLab compiles regular expressions supplied by its users, such as patterns in CI configuration, with Regexp.new .
GitLab found that specially crafted patterns could corrupt memory while Ruby compiles them
-
Ruby プロジェクトによると、GitLab は同梱している Ruby にパッチを当てることで、これらの問題を自社のリリースで修正しました。CVE-2026-97229 は CI/CD の正規表現コンパイラーにおける整数オーバーフローの問題として挙げられ、GitLab 19.4.2 で対処されています。
引用文
GitLab addressed these issues in its own releases by patching the Ruby it ships
CVE-2026-97229 : Integer Overflow issue in CI/CD Regular Expression Compiler ( GitLab 19.4.2 )
-
Ruby プロジェクトは 4.0.9、3.4.12、3.3.13 をリリースし、これらに Ruby 側の根本的なバグの修正が含まれていると述べています。
引用文
We have released Ruby 4.0.9, 3.4.12 and 3.3.13.
the Ruby releases contain the fixes for the underlying bugs in Ruby.
-
Ruby プロジェクトは、これらのバグに到達するのは、アプリケーションが攻撃者の制御する文字列から正規表現をコンパイルする場合だけだと述べています。開発者自身が書いた正規表現だけを使うアプリケーションは影響を受けません。
引用文
These bugs are reached only when an application compiles a regular expression from a string that an attacker controls
Applications that only use regular expressions written by their own developers are not affected.
-
CISA のカタログは、同じ根本原因である Ruby と Onigmo の整数オーバーフローの問題によって、他の製品も影響を受ける可能性があると補足しています。このページは GitLab 以外の製品を扱いません。
出典: CISA Known Exploited Vulnerabilities catalog
引用文
Other products can potentially be affected by the same underlying Ruby/Onigmo Integer Overflow issue in CI/CD Regular Expression Compiler.
パッチを当てる前に、すでに侵害されていないか確認する
このページにはコマンドを載せていません。GitLab の告知が示しているのは実行するコマンドではなく検知ルールだからです。何も見つからなくても、インスタンスが無事だという証明にはなりません。CISA のガイダンスは、まず証拠を集めてからパッチを当てることです。パッチ適用や再起動で証拠が失われることがあるためです。
-
CISA のフォレンジックトリアージのガイダンスは、可能な限り証拠を収集する前にシステムを変更したり修復したりしないこと、そして侵害があったかどうかを判断するために証拠の分析を始めることを求めています。
出典: CISA (BOD 26-04 implementation guidance)
引用文
Do not alter or remediate systems prior to evidence/artifact collection when possible.
Begin evidence analysis to determine if a compromise occurred.
-
同じガイダンスは、封じ込めを早まって始めると重要な証拠を壊しかねないと警告し、影響を受けた、または受けた疑いのあるシステムを隔離するよう求めています。
出典: CISA (BOD 26-04 implementation guidance)
引用文
Premature containment can destroy vital evidence.
Isolate impacted and suspected impacted systems and network infrastructure.
-
GitLab は、セルフマネージドのインスタンスを使うお客様を支援するため、6つの脅威検知ルールを公開したと述べています。名前は次のとおりです:Onigmo native worker crash、Graphql cilint hostile regexp、ci regexp oversized non ascii path、ci regexp guard rejection、ci lint workhorse worker crash、ci lint scripted client error burst。各名前は GitLab のリリースノートから、GitLab 自身の検知ルールのページにリンクしています。
出典: GitLab patch release notes
引用文
GitLab security has released six threat detections to support customers with self-managed instances, listed below.
Onigmo native worker crash Graphql cilint hostile regexp ci regexp oversized non ascii path ci regexp guard rejection ci lint workhorse worker crash ci lint scripted client error burst
- 運用しているセルフマネージドの GitLab CE と EE のインスタンスを洗い出し、それぞれのバージョンを控えます。上の影響を受けるバージョンと修正版の表と見比べてください。GitLab.com と GitLab Dedicated は GitLab 側でパッチが適用されています。
- 影響を受ける範囲のインスタンスは、パッチ適用や再起動の前に証拠を集めます。ログと監視データを、ホストの外に複製してください。再起動するとメモリと、メモリにしかなかったものは失われます。
- 上に挙げた GitLab の6つの検知ルールを、GitLab の検知ルールのページを使って、自分のログと監視に当てはめて確認します。GitLab はこれらを悪用の試みの検知として説明しており、何も見つからなくてもインスタンスが無事だという証明にはなりません。
- 説明できないものがあれば、ファイルを消さずにインスタンスを隔離し、インシデントとして報告します。証拠を保全してから、信頼できるソースから再構築してください。
- そのうえで、上の表にある修正版へアップグレードします。シングルノードのインスタンスでは、マイグレーションが完了するまで GitLab を起動できないため、ダウンタイムを見込んでください。