ソースコード管理のサービス「GitLab」に、ログインしていない人でもサーバー上でコードを実行できてしまう脆弱性(CVE-2026-110264)が見つかりました。深刻度はCVSS 3.1で10.0(Critical)で、最も高い値です。GitLabは2026年10月21日付で、自分のサーバーで運用する版(GitLab Self-Managed)向けに緊急のパッチリリースを出し、19.5.1、19.4.3、19.3.6、19.2.9、19.1.9、19.0.10、18.11.13の7つの修正版を公開しました。対象は7.0以降のほぼすべての版です。GitLab.comはすでに修正済みで、利用者がすることはありません。
この記事の要点
- GitLabのCommunity Edition(CE)とEnterprise Edition(EE)に、CVSS 10.0(Critical)の脆弱性CVE-2026-110264が見つかりました。条件がそろうと、ログインしていない人がGitLabのサーバー上で好きなコードを実行できるおそれがあります。
- 対象は7.0以降で、修正版より前のすべての版です。修正版は19.5.1、19.4.3、19.3.6、19.2.9、19.1.9、19.0.10、18.11.13の7つです。
- GitLab.comは修正済みです。GitLab Dedicatedも、19.3.5-internal0・19.4.2-internal0以降を使っていれば対応は要りません。
- 同じリリースでは、ほかに11件の脆弱性も直っています。ただし19.2.9・19.1.9・19.0.10・18.11.13は、CVE-2026-110264の修正だけを移したものです。
- 自分のサーバーでGitLabを動かしている人は、使っている版を確かめ、同じ系列の修正版かそれより新しい版にすぐ上げてください。
何が見つかったか
| 項目 | 内容 |
|---|---|
| CVE | CVE-2026-110264 |
| 深刻度 | CVSS 3.1で10.0(Critical)。CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H |
| 種類 | 整数オーバーフロー(CWE-190)。細工した正規表現をコンパイルするときに起きる |
| 起きうること | 条件がそろうと、ログインしていない人がGitLabのサーバー上で任意のコードを実行できる |
| 対象の製品 | GitLab Community Edition(CE)とEnterprise Edition(EE) |
| 対象の版 | 7.0以降で、18.11.13、19.0.10、19.1.9、19.2.9、19.3.6、19.4.3、19.5.1より前の版 |
| 修正版 | 19.5.1、19.4.3、19.3.6、19.2.9、19.1.9、19.0.10、18.11.13(2026年10月21日公開) |
| GitLab.com | 修正済み。利用者の対応は不要 |
| GitLab Dedicated | 19.3.5-internal0・19.4.2-internal0以降は修正済みで、対応は不要 |
| 報告 | バグ報奨金制度(HackerOne)を通じて、joaxcar氏が報告 |
GitLabのお知らせによると、細工した正規表現をコンパイルする処理で整数オーバーフローが起き、条件によっては、ログインしていない人がGitLabのサーバーで任意のコードを実行できるおそれがありました。CVSSの評価では、ネットワーク越しに、ログインも利用者の操作もなしに攻撃でき、情報の漏えい・書き換え・停止のすべてに大きな影響があるとされています。GitLabのサーバーには、ソースコードや設定、CI/CDで使う認証情報などが集まっているため、乗っ取られたときの影響は大きくなります。
修正版のバグ修正の一覧には、GitLabが使っているRubyの正規表現の処理に対する修正(regexp repeat ID overflow patch)が、各系列向けに入っています。GitLabは、この脆弱性への攻撃の試みを見つけるための検知ルールを2つ(「Onigmo native worker crash」「Org mode render error burst」)、自分で運用している利用者向けに公開しました。
攻撃が成り立つ具体的な条件や、実際に悪用されているかどうかは、10月22日12時の時点でGitLabのお知らせには書かれていません。GitLabは、修正した脆弱性の詳しい内容を、修正を出してから90日後に公開するとしています。
どの版を、どこまで上げればよいか
今回の修正版は、7つの系列それぞれに出ています。使っている系列の修正版か、それより新しい版に上げてください。
| 使っている版 | 上げる先 | 補足 |
|---|---|---|
| 19.5.0 | 19.5.1 | 今回の12件の修正がすべて入る |
| 19.4.0〜19.4.2 | 19.4.3 | 12件の修正がすべて入る。データベースの移行(マイグレーション)あり |
| 19.3.0〜19.3.5 | 19.3.6 | 12件の修正がすべて入る。データベースの移行あり |
| 19.2.0〜19.2.8 | 19.2.9 | CVE-2026-110264の修正だけを移したもの |
| 19.1.0〜19.1.8 | 19.1.9 | CVE-2026-110264の修正だけを移したもの |
| 19.0.0〜19.0.9 | 19.0.10 | CVE-2026-110264の修正だけを移したもの |
| 18.11.0〜18.11.12 | 18.11.13 | CVE-2026-110264の修正だけを移したもの |
| 7.0〜18.10.x | 18.11.13以降 | 18.10以前の系列には修正版が出ていない。決まった順序(アップグレードパス)に沿って、修正版のある系列まで上げる |
GitLabは、大きく離れた版から上げるときに、途中で必ず通る版(必須の経由点)を決めています。GitLab 18では18.2・18.5・18.8・18.11、GitLab 19では19.2・19.5が経由点です(アップグレードパスの説明)。18.10以前を使っている場合は、この順序に沿って上げる必要があります。
上げるときの注意
- 19.4.3と19.3.6には、データベースの移行(マイグレーション)が含まれます。サーバー1台で動かしている場合は、移行が終わるまでGitLabが起動しないため、そのあいだ止まります。複数台の構成では、決まった手順を使えば止めずに上げられるとしています。
- 19.4.3には、上げたあとに実行できる移行(ポストデプロイマイグレーション)も含まれます。
- インストールの方法(Linuxパッケージ、ソースコード、Helmチャートなど)が書かれていない修正は、すべての方法が対象です。
同時に直ったほかの脆弱性
今回のリリースでは、CVE-2026-110264のほかに11件の脆弱性が直っています。深刻度はHighが2件、Mediumが5件、Lowが4件です。これらの影響する版は「19.3.6、19.4.3、19.5.1より前」と書かれているため、直るのは19.3.6・19.4.3・19.5.1です。19.2以前の系列の修正版では直りません。
| CVE | 深刻度(CVSS) | 内容 | 対象 |
|---|---|---|---|
| CVE-2026-110264 | Critical(10.0) | 正規表現のコンパイルでの整数オーバーフロー。ログインしていない人がコードを実行できる | CE/EE 7.0以降 |
| CVE-2026-15723 | High(8.2) | OmniAuth(SAML)とLDAPの自動ひも付けを両方有効にしていると、ログインした利用者が、ほかの人のLDAPのアカウントを乗っ取れる | CE/EE 10.1以降 |
| CVE-2026-112212 | High(7.5) | OAuth/OIDCの設定情報のキャッシュを汚され、一部の処理を外部のサーバーに誘導される | CE/EE 18.3以降 |
| CVE-2026-12664 | Medium(6.8) | read_api権限だけのトークンで、プロジェクトの受信用メールアドレスを取得したり、作業項目を作ったりできる | CE/EE 18.2以降 |
| CVE-2026-16255 | Medium(5.9) | SAML/LDAPのメンバーシップのロックが一部で効かず、IdPの管理外でメンバーを追加できる | EE 12.0以降 |
| CVE-2026-105777 | Medium(4.3) | 内部の応答ヘッダーの絞り込みが不十分で、サーバー内部の認証情報を取得される | CE/EE 17.6.5以降 |
| CVE-2026-13319 | Medium(4.3) | グループのマイルストーンのAPIで、メンバーでない非公開プロジェクトのマイルストーンの情報を読める | CE/EE 15.10以降 |
| CVE-2026-112378 | Medium(4.3) | 有効な契約がなくても、有料のAI機能を使える | EE 17.8以降 |
| CVE-2026-105711 | Low(3.5) | 公開プロジェクトのマージリクエストから、非公開プロジェクトの機密のイシューのタイトルが見える | CE/EE 15.0以降 |
| CVE-2026-14288 | Low(3.1) | 保護ブランチで、必須のマージリクエスト承認ポリシーをすり抜けられる | EE 17.4以降 |
| CVE-2026-112326 | Low(3.1) | 読み取り権限しかない利用者が、既存の脆弱性の記録を消せる | EE 17.8以降 |
| CVE-2026-103515 | Low(2.7) | 管理者がDuoの利用をロックしても、グループのオーナーが外部へのデータ送信(Amazon Q)を有効に戻せる | EE 19.2以降 |
読者がすること
| すること | やり方 |
|---|---|
| 自分で運用しているか確かめる | gitlab.comを使っているだけなら、対応は要らない。自社のサーバーやクラウドにGitLabを入れて動かしている場合が対象 |
| 版を確かめる | GitLabにログインし、左のサイドバーの下にある「ヘルプ」→「ヘルプ」を開くと、ページの上に版が出る(公式の説明) |
| 修正版に上げる | 上の表で、使っている系列の修正版かそれより新しい版に上げる。19.3.6と19.4.3は移行のあいだ止まることがあるので、時間を決めて行う |
| 18.10以前なら順に上げる | 修正版のない系列なので、アップグレードパスの経由点に沿って、18.11.13以降まで上げる |
| 外部に公開しているか確かめる | インターネットから届く場所に置いている場合は、とくに急ぐ |


