
- ソースコードを管理するソフト GitLab(ギットラボ)に、ログインしていない人でもサーバー上で好きなプログラムを動かせるおそれがある脆弱性 CVE-2026-110264 が見つかりました。深刻度は CVSS 3.1 で最高の 10.0(Critical)です[GitLab 公式]。
- 対象は自社のサーバーで動かしている GitLab(Self-Managed)の Community Edition(CE)と Enterprise Edition(EE)で、7.0 以降のほぼすべての版です。GitLab 7.0 は2014年6月の版なので、約12年分のリリースが対象になります。
- GitLab は10月21日付で修正版 19.5.1 / 19.4.3 / 19.3.6 / 19.2.9 / 19.1.9 / 19.0.10 / 18.11.13 を公開し、すぐに更新するよう強く勧めています。
- 10月12日の緊急修正(19.4.2 など)に上げただけでは直っていません。別の脆弱性の修正だったためです。
- GitLab.com(GitLab 社が運営するクラウド版)はすでに修正済みです。悪用が確認されたという公式の発表は、10月24日時点ではありません。
何が起きたか
GitLab は、プログラムのソースコードを保管・共有し、テストや配備を自動で回すためのソフトです。開発会社やシステム部門では、社内のサーバーに GitLab を入れて使っていることがよくあります。
GitLab は10月21日付の「Critical Patch Release(緊急の修正リリース)」で、12件の脆弱性を修正しました。そのうちもっとも深刻なのが CVE-2026-110264 です[GitLab 公式]。
| 項目 | 内容(GitLab 公式の発表・CVEレコード) |
|---|---|
| CVE番号 | CVE-2026-110264 |
| 深刻度 | Critical。CVSS 3.1 の基本値 10.0(AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H) |
| 中身 | 細工した正規表現(文字列のパターンを表す書き方)を処理するときに整数のあふれ(オーバーフロー)が起き、条件によってはログインしていない利用者が GitLab サーバー上で任意のコードを実行できる |
| 弱点の種類 | CWE-190(整数オーバーフロー) |
| 対象 | GitLab CE/EE の 7.0 以降、各系列の修正版より前のすべての版 |
| 報告者 | joaxcar 氏(HackerOne のバグ報奨金制度を通じて報告) |
CVSS は脆弱性の深刻さを0〜10で表す共通の物差しで、10.0 は最高の値です。「ネットワーク越しに」「ログイン不要で」「利用者の操作なしで」攻撃でき、影響が GitLab 自体の外にも広がりうる、という評価になっています(CVSS の読み方はCVSSの解説にまとめています)。
GitLab のセキュリティチームが公開した検知ルールの説明によると、問題の場所は GitLab が「Org 形式」という文書ファイルを画面に表示するときの処理です。同じ説明では、攻撃に認証は不要で、公開プロジェクトが1つあれば成り立つとされています[GitLab セキュリティチームの検知ルール]。攻撃の手順に当たる部分は、この記事では扱いません。
対象になる人・ならない人
| 使い方 | 対応 |
|---|---|
| 自社のサーバー・クラウドの仮想マシン・Docker・Kubernetes で GitLab を動かしている(Self-Managed) | 対象。自分で更新が必要。公式は、導入方法(Omnibus パッケージ、ソースから導入、Helm チャートなど)の指定がないものはすべての方式が対象としている |
| GitLab.com を使っている | 対応不要。GitLab 公式は「GitLab.com はすでに修正版で動いている」としている |
| GitLab Dedicated(GitLab 社が専用環境を運用する契約) | 公式は、19.3.5-internal0 と 19.4.2-internal0 以降で動いている環境はすでに修正を含んでおり、対応不要としている |
| 制作会社や開発会社が GitLab を用意している | 相手が Self-Managed で運用しているかどうかを確かめ、更新済みかを聞く |
自社でソースコードを持っていなくても、外注先の GitLab に自社のシステムのコードや、サーバーへ接続するための情報が置かれていることがあります。外注している場合も一度確かめておくと安心です。
修正版の一覧
GitLab 公式とCVEレコードに書かれた対象と修正版です。使っている系列(19.4 なら 19.4.x)の修正版以上にします。
| 使っている系列 | 対象の版 | 修正版 |
|---|---|---|
| 19.5 | 19.5.0 | 19.5.1 |
| 19.4 | 19.4.3 より前 | 19.4.3 |
| 19.3 | 19.3.6 より前 | 19.3.6 |
| 19.2 | 19.2.9 より前 | 19.2.9 |
| 19.1 | 19.1.9 より前 | 19.1.9 |
| 19.0 | 19.0.10 より前 | 19.0.10 |
| 7.0〜18.11 | 18.11.13 より前 | 18.11.13(これより古い系列に修正版は出ていない) |
18.11.13・19.0.10・19.1.9・19.2.9 は、この脆弱性のために古い系列へさかのぼって出された修正版です[GitLab 公式]。18.10 以前の系列を使っている場合は、18.11.13 以降へ上げる必要があります。
バージョンの確かめ方
- 画面で見る:GitLab にログインし、右上(またはサイドバー)のヘルプから「ヘルプ」ページを開くと、バージョンが表示されます。管理者は「管理者エリア」の概要でも確認できます。
- サーバーで見る(Omnibus パッケージ):サーバーで
sudo gitlab-rake gitlab:env:infoを実行すると、GitLab のバージョンが表示されます。 - Docker の場合:使っているイメージのタグを確認します。公式イメージには
gitlab/gitlab-ce:19.5.1-ce.0や18.11.13-ce.0などの修正版のタグが10月21日(協定世界時)に出ています[Docker Hub]。latest指定でも、イメージを取り直してコンテナを作り直さないと更新されません。
今すぐやること
- バックアップを取る。更新の前に、GitLab のバックアップと設定ファイル(
gitlab.rb・gitlab-secrets.json)の控えを取ります。 - 修正版に更新する。手順は GitLab 公式の更新ガイド(Upgrade GitLab)に沿って進めます。大きく古い版から上げる場合は、途中の版を順に経由する必要があることがあるので、公式の「Upgrade Path」で道筋を確かめてください。
- 止まる時間を見込む。公式によると、今回の修正版にはデータベースの変更(マイグレーション)が含まれます。1台構成のサーバーでは更新中に GitLab が止まります。複数台構成でゼロダウンタイム更新の手順を取れば、止めずに適用できるとしています。
- 更新後にバージョンを確かめる。前の章の方法で修正版になったことを確認します。
すぐに更新できない場合:GitLab 公式の発表には、この脆弱性の回避策は載っていません。更新までの間、一般的な一時しのぎとして、GitLab をインターネットから直接開けないようにする(社内ネットワークや VPN からだけにする、接続元 IP を絞る)方法がありますが、これは公式の対策ではありません。更新が本当の対策です。
攻撃を受けていないかの確かめ方
GitLab のセキュリティチームは、Self-Managed の利用者向けに、悪用の試みを見つけるための検知ルールを2つ公開しています[GitLab 公式]。
- Onigmo native worker crash:GitLab の処理を受け持つプロセス(Puma のワーカー)が、正規表現エンジンの中で異常終了していないかを、
puma_stderr.logで見るもの - Org mode render error burst:Org 形式のファイルの表示で、時間切れのエラーが同じ相手から短時間に何度も出ていないかを、
exceptions_json.logで見るもの
どちらも、Omnibus パッケージなら /var/log/gitlab/ の下にあるログです。こうした記録が見つかったら、攻撃が試みられた手がかりになります。
ただし GitLab の説明では、攻撃が成功した場合は静かで、必ずしもプロセスの異常終了は起きないとされ、記録が無いことは安全の証明にならないとしています。また、成功した場合の被害として、サーバーの秘密情報(gitlab-secrets.json)、CI/CD の変数、Runner のトークン、アクセストークンが盗まれ、すべてのリポジトリを読み書きされるおそれを挙げています。
インターネットに公開した GitLab を長く古いまま使っていた場合や、上の記録に心当たりがある場合は、次のことも考えてください。
- 見覚えのない管理者アカウント、アクセストークン、SSH キー、Webhook が増えていないか確かめる
- CI/CD の変数に入れているパスワードやクラウドの認証キー、Runner のトークンを作り直す(ローテーション)
- サーバー上に見覚えのないファイルや、外へ向かう不審な通信がないか確かめる
侵害されたかもしれないときの一般的な進め方は侵害チェックの記事にもまとめています。
悪用の状況(公式・報道・未確認)
| 区分 | 内容 |
|---|---|
| 公式(GitLab) | 修正リリースの発表に、悪用を確認したという記載はない。検知ルールを公開し、Self-Managed の利用者に確認を勧めている |
| 公式(CISA) | 米国の CISA が CVE レコードに付けた評価(10月21日付)は、悪用「none(確認なし)」、自動化「yes(可能)」、技術的な影響「total(全面的)」。悪用が確認された脆弱性の一覧(KEV)には、10月24日4:30(日本時間)更新の版でも載っていない |
| 報道 | 海外のセキュリティ情報サイト SecurityOnline は、公開された攻撃コードは無く、悪用も確認されていないと伝えている |
| 未確認 | 国内の JPCERT/CC・IPA の注意喚起は、この記事の時点で当サイトでは確認できていない |
今は悪用の報告がなくても、修正の中身が公開されたあとは攻撃が始まりやすくなります。GitLab では、ほかの脆弱性(CVE-2026-85706 など)が2026年に入って KEV に追加された例もあります[CISA KEV]。悪用の報告を待たずに更新してください。
PHP2Shell・Node2Shell との関係
同じ週には、PHP 本体の脆弱性(通称 php2shell)と Node.js の脆弱性(通称 Node2Shell)の修正版も公開されました。どれも「遠隔からコードを実行されるおそれ」がある点は似ていますが、ソフトも原因も別の、無関係な脆弱性です。
| GitLab(今回) | php2shell | Node2Shell | |
|---|---|---|---|
| 対象ソフト | GitLab CE/EE(Self-Managed) | PHP | Node.js(と Brotli を使うソフト) |
| CVE | CVE-2026-110264 | CVE-2026-109618 / 109619 | CVE-2026-111497 |
| 修正版 | 19.5.1 / 19.4.3 / 19.3.6 ほか | PHP 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35 | Node.js 22.23.4 / 24.22.1 / 26.12.1 |
| 多い使われ方 | 開発会社・社内のコード管理 | WordPress などのホームページ | Next.js などのWebアプリ、API |
GitLab の更新で PHP や Node.js の問題は直りませんし、その逆も同じです。GitLab のサーバーと Web サイトのサーバーが別なら、それぞれ更新が必要です。PHP の件はphp2shellの解説、Node.js の件はNode2Shellの解説にまとめています。
経緯
| 日時 | 出来事 |
|---|---|
| 2014年6月 | GitLab 7.0 の公開(今回の対象の始まり)[GitLab のリポジトリ] |
| 10月12日(付) | GitLab が別の脆弱性 CVE-2026-97229 を直す緊急リリース 19.4.2 / 19.3.5 / 19.2.8 を公開[GitLab 公式] |
| 10月21日(付・時刻の記載なし) | GitLab が緊急リリース 19.5.1 / 19.4.3 / 19.3.6 / 19.2.9 / 19.1.9 / 19.0.10 / 18.11.13 を公開[GitLab 公式] |
| 10月22日 0:01(日本時間) | Docker Hub の公式イメージに 19.5.1-ce.0 のタグが登場[Docker Hub] |
| 10月22日 9:33(日本時間) | GitLab が CVE-2026-110264 のCVEレコードを公開[CVE.org] |
日本時間は、各ページの協定世界時の記載に9時間を足しています。
よくある質問
GitLab.com を使っています。何かする必要はありますか?
GitLab 公式は、GitLab.com はすでに修正版で動いているとしています。利用者側での更新は不要です。
GitHub を使っています。関係ありますか?
GitHub は別の会社の別のサービスで、今回の脆弱性は GitLab のものです。GitHub には関係ありません。
社内ネットワークの中だけで使っています。急がなくていいですか?
インターネットから開けない GitLab は、外から直接狙われる危険は下がります。ただし社内の端末が乗っ取られた場合などには攻撃の入り口になりえます。CVSS 10.0 の問題なので、計画を立てて早めに更新してください。
古い GitLab(たとえば 15.x)を使っています。どうすればいいですか?
今回の修正版のうち一番古い系列は 18.11.13 です。それより古い系列には修正版が出ていないため、公式の Upgrade Path に沿って順に上げる必要があります。時間がかかるので、その間は GitLab をインターネットから開けないようにしておくことも考えてください。
WordPress のサイトは関係ありますか?
WordPress は GitLab を使っていないので、今回の件とは関係ありません。ただし同じ時期に PHP の脆弱性(php2shell)が出ているので、そちらの更新は必要です。
GitLab や PHP・Node.js の更新、サーバーの状態の確認でお困りでしたらご相談ください。
参考にした情報
- GitLab 公式「GitLab Critical Patch Release: 19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10, 18.11.13」
- GitLab 公式「GitLab Critical Patch Release: 19.4.2, 19.3.5, 19.2.8」(10月12日)
- GitLab セキュリティチームの検知ルール「Onigmo native worker crash」 / 「Org mode render error burst」
- CVE.org CVE-2026-110264 / NVD
- CISA Known Exploited Vulnerabilities Catalog
- GitLab 公式「Upgrade GitLab」
- Docker Hub gitlab/gitlab-ce
- 報道:SecurityOnline(英語)


