blog

GitLab脆弱性CVE-2026-97229——実際に悪用中、自社運用担当者が今やること

GitLabの重大脆弱性CVE-2026-97229——実際に悪用中、自社運用の担当者が今やること

CVE-2026-97229の要点:CVSS 10.0、認証不要、CISA KEV掲載で悪用確認済み

2026年10月29日、米国のサイバーセキュリティ・インフラストラクチャセキュリティ庁(CISA)はGitLab Community Edition(CE)およびEnterprise Edition(EE)の脆弱性CVE-2026-97229を、実際に悪用が確認された脆弱性を集めたKnown Exploited Vulnerabilities(KEV)カタログへ追加した(CISA KEV)。

脆弱性の内容はCI/CD設定の正規表現コンパイラにおける整数オーバーフロー(CWE-190)だ。細工した正規表現パターンをCI設定に含めることで、認証されていない利用者がGitLabサーバー上で任意のコードを実行できた可能性があると、CVE公式記録(cve.org)にCNA(GitLab)の評価として記されている。CVSS 3.1スコアは10.0(Critical)。CISAのSSVC評価では悪用の自動化が可能(Automatable=yes)、技術的影響は最大(Technical Impact=total)と評価されている。

修正版は2026年10月12日にGitLab公式が公開した(GitLab Critical Patch Release告知)。公開から17日後にCISA KEVへ掲載されたことになるが、悪用がいつ始まったかは公開情報から確認できていない。

この問題の技術的な根拠はRubyが内包する正規表現エンジンOnigmoの整数オーバーフローにある。GitLabはユーザーが与える正規表現をRegexp.newでコンパイルしており、コンパイル後のパターンサイズの計算でオーバーフローが起きるとメモリが破壊され、それがコード実行に悪用されうる。Ruby公式の告知(ruby-lang.org、2026-10-23)がこの技術背景を詳述している。GitLabは自社が同梱するRubyにパッチを当てて修正しているため、GitLabの利用者がRuby本体を別途更新する必要はない。

CVE-2026-97229:仕組みと対処の流れ細工した正規表現のコンパイル時に整数オーバーフローが起き、メモリが壊れる(GitLab・Ruby公式の説明)攻撃者(認証不要と評価)細工した正規表現CI/CD設定(正規表現コンパイル)整数オーバーフロー↓メモリ破壊GitLabサーバー任意コード実行修正版への更新19.2.8 / 19.3.5 / 19.4.2 以降
図:CVE-2026-97229の仕組みと対処の流れ。細工した正規表現がCI/CD設定でコンパイルされると整数オーバーフローが起き、サーバー上での任意コード実行につながりうる(CNAの評価では認証不要)。対処はGitLab公式の修正版への更新で、公式の回避策は確認できていない。

自社が使うツールの脆弱性が取引先にまで及ぶ攻撃の仕組みは、サプライチェーン攻撃の手口・事例と対策で解説しています。

関連記事Linux CVE-2026-98432、今何をする?

GitLab脆弱性CVE-2026-97229:自分の環境は対象か——環境の種類で対応が変わる

最初に確認すべきは自分の環境の種類だ。対応が必要かどうかはここで決まる。

  • GitLab.com(SaaS)の利用者:GitLab公式の告知によれば、GitLab.comはすでに修正版で稼働している。利用者側での更新作業は不要だ。ただし自分でRunnerを別途動かしている場合は、その部分は自己管理の範囲となる。
  • GitLab Dedicated の利用者:全テナントは2026年10月12日の公開告知より前に、社内版(internal release)で修正が完了している。
  • セルフマネージド環境:自社のサーバーやクラウド上でGitLab CE/EEを運用している場合のみ、更新作業が必要だ。以下はセルフマネージド担当者向けの解説となる。

セルフマネージド環境でCVE-2026-97229の影響を受けるGitLab本体の版は次のとおりだ(CVE公式記録、CNA=GitLab)。

CVE-2026-97229 影響バージョンと修正バージョン(GitLab CE/EE、セルフマネージド)
マイナー系列 対象(脆弱性あり) CVE-2026-97229の修正版 備考
19.2系 19.2.8未満 19.2.8以降 —
19.3系 19.3.5未満 19.3.5以降 移行処理あり・単一ノードは更新中に停止が発生
19.4系 19.4.2未満 19.4.2以降 —

18.11系・19.0系・19.1系はCVE-2026-97229の直接の対象ではない(CNAの記載による)。ただし後述する別脆弱性CVE-2026-110264の対象となるため、安心できる状況ではない。

現在稼働中の版番号を確認するには次のいずれかの方法を使う。

  • 管理画面(Admin Area):ログイン後、管理画面のトップページで版番号を直接確認できる。
  • コマンドライン(Omnibus・ソース環境):sudo gitlab-rake gitlab:env:info を実行するとGitLab本体の版が出力される。
  • パッケージ確認(Debian/Ubuntu系):dpkg -l gitlab-ee または dpkg -l gitlab-ce。
  • パッケージ確認(RHEL系):rpm -q gitlab-ee または rpm -q gitlab-ce。

HelmチャートでKubernetes上に展開している場合、チャートの版番号とGitLab本体の版番号は別物だ。チャートの版ではなく、実際に動いているGitLab本体の版で対象かどうかを判断する。

自社が対象か判断がつかない場合は、お使いの製品と版の情報をお送りいただければ、公式情報をもとに対象かどうかの目安をお伝えします(無料相談)。

次に読む:Cisco ASA・FTDのVPN脆弱性、自社は対象?

CVE-2026-76418 Cisco ASA・FTDのSSL VPN脆弱性——自社が対象か3条件で判断する

CVE-2026-97229と隣接する脆弱性——更新目標は各系列の最新パッチ版

CVE-2026-97229の修正版は19.2.8 / 19.3.5 / 19.4.2だが、その版だけを目標にすると不十分になりうる。同じ正規表現コンパイラの土台に起因する別の脆弱性CVE-2026-110264(CVSS 10.0)は、19.4.3以降でなければ修正されない。さらにCVE-2026-110264の影響範囲は7.0以降の広い系列に及ぶ——18.11 / 19.0 / 19.1はCVE-2026-97229の対象外であるにもかかわらず、CVE-2026-110264には含まれる。

CISA KEVに掲載されているのは2026年10月30日時点でCVE-2026-97229のみだ(CVE-2026-89078 / 93577 / 110264の掲載は確認されていない)。しかしCVE-2026-110264も同等のCVSSスコア10.0を持つ。「CVE-2026-97229の修正版への更新」ではなく、各系列の最新パッチ版を目標にすることが現実的な安全策となる。

2026年10月29日時点の各系列最新パッチ版(GitLab CE/EE)
系列 2026-10-29時点の最新パッチ版 CVE-2026-97229対処 CVE-2026-110264対処
19.5 19.5.3 対象外 19.5.1以降で対処済み
19.4 19.4.5 19.4.2以降で対処済み 19.4.3以降で対処済み
19.3 19.3.7 19.3.5以降で対処済み 19.3.6以降で対処済み
19.2 19.2.10 19.2.8以降で対処済み 19.2.9以降で対処済み
19.1 19.1.10 対象外(CNAの記載) 19.1.9以降で対処済み
19.0 19.0.11 対象外(CNAの記載) 19.0.10以降で対処済み
18.11 18.11.14 対象外(CNAの記載) 18.11.13以降で対処済み

更新の具体的な手順はGitLab公式のUpdateページ(docs.gitlab.com/update/)に従う。19.3.5にはpost-deploy migrations(移行処理)が含まれており、単一ノード構成では更新中に停止が発生する。複数ノード構成はゼロダウンタイム手順で対応可能と公式が記している。作業前のバックアップ取得は一般的な慎重策として推奨される。

セルフマネージドのGitLab Runnerを別途運用している場合、GitLab本体とは独立してRunnerの更新も必要になる場合がある。2026年10月29日公開の告知はRunner 19.5.1への更新を案内しているが、これは別件の証明書修正(CVE-2026-111943)に伴うものであり、CVE-2026-97229の対処そのものではない。混同しないよう注意が必要だ。

更新後も確認すべき侵害の痕跡——CISA KEVが示すフォレンジック要件と検知ルール

CISA KEVの登録情報は、更新による脆弱性の修正に加えて、侵害の有無の調査(フォレンジック・トリアージ)の実施も要件として示している(forensicTriage: Yes)。更新で脆弱性の入口は閉じられるが、更新前にすでに侵入されていた場合の痕跡は更新後も環境内に残りうる。これはセキュリティ対応の一般原則として理解されたい。

GitLabは2026年10月12日の公式告知(Critical Patch Release告知)で、セルフマネージド環境向けに悪用の試みを検出するための検知ルール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

各ルールの設定方法と詳細は上記の公式告知を参照されたい。これらのルール名から攻撃の具体的な経路を推測することは、公開情報の範囲では難しい。

CISA KEVへの登録には米国連邦機関向けの対処期限(2026年11月1日)が設定されているが、これは米国の連邦政府機関に対する期限であり、日本の一般企業に法的な義務が生じるものではない。ただしCISA KEV掲載は野外での悪用が確認されたことを意味する。CVSS 10.0・認証不要・悪用確認済みという3点が揃っている以上、セルフマネージド運用担当者にとって更新を最優先タスクとして扱う根拠は十分だ。

JPCERT/CCは2026年10月28日付け週間情報(wr261028)でGitLabの複数脆弱性への注意を呼びかけている。CVE-2026-97229の名指しはないが、修正済みバージョンへの更新を求める内容となっている。

なお、Ruby公式の告知(2026年10月23日)は、この問題の影響が「攻撃者が制御できる文字列から正規表現を構築するアプリ全般」に及びうると指摘している。GitLab以外にRubyのRegexp.newで外部入力から正規表現を生成するアプリを運用している場合は、そちらも独立して確認が必要な状況だ。Regexp.timeoutの設定やパターン長の制限は、本脆弱性に対する確実な防御にならないとRuby公式は明記している。GitLabの利用者はGitLab本体の更新で対処が完結し、Ruby本体を別途更新する必要はない。


参考文献

重大な脆弱性が出たら、メールでお知らせします

悪用が確認された重大な脆弱性が出たときだけ送ります(頻繁には送りません)。無料・配信停止はメール内のリンクからいつでもできます。

個人情報の扱い

脆弱性への対応・AIセキュリティでお困りの方へ

クリスタルメソッドは、脆弱性情報の監視とお知らせ、AIセキュリティのご相談、AIを業務に取り入れる際のセキュリティを学ぶ研修をお受けしています。「使っている製品が対象か分からない」「社内でAIを使うときの注意点を整理したい」といった段階からご相談いただけます。

AIニュースのまとめをメールで

毎週月曜、海外AIニュースの日次ダイジェストを1週間分まとめてお届けします。無料・いつでも配信を停止できます。

監修

河合 継(クリスタルメソッド株式会社 代表取締役)

AI・ディープラーニングに関する特許16件の発明者。過去、国立がん研究センターとの共同研究や、テレビ番組でのAI解説実績を持つAI研究者として、AIの研究開発を主導している。
運営会社について | 編集方針

Read next

あわせて読みたい

  • サプライチェーン攻撃対策:AIで防ぐ手順と2026年最新事例

    サプライチェーン攻撃とは?種類・手口・事例と企業の対策【2026年版】

    サプライチェーン攻撃とは?委託先・取引先・使っている部品を足掛かりにする攻撃 サプライチェーン攻撃とは、攻撃したい組織を直接狙わず、その組織が信頼してつながって...

  • Cisco ASA・FTDのSSL VPNに悪用中の脆弱性CVE-2026-76418——自社が対象かを3つの条件で確かめる

    CVE-2026-76418 Cisco ASA・FTDのSSL VPN脆弱性——自社が対象か3条件で判断する

    CVE-2026-76418とは——Cisco ASA・FTDで機器が再起動されるDoS脆弱性 2026年10月28日、Ciscoはセキュリティアドバイザリ(c...

  • LinuxカーネルCVE-2026-98432をAIが発見——遠隔root、今やること

    LinuxカーネルCVE-2026-98432をAIが発見——遠隔root、今やること

    AIがLinuxカーネルの重大脆弱性CVE-2026-98432を発見——何が起きたか 2026年10月15日、LinuxカーネルのIPv4 TCP処理に深刻な...

View more