12-Year-Old GitLab Vulnerability Allows Remote Code Execution on Self-Managed Server
2026/10/22 CyberSecurityNews — GitLab が公開したのは、セルフ・マネージド環境で運用されるサーバ上で、未認証の攻撃者に任意のコード実行を許す可能性がある、深刻度 Critical の脆弱性 CVE-2026-110264 (CVSS 10.0) に対するセキュリティ・アップデートである。この脆弱性は、GitLab Community Edition (CE)/Enterprise Edition (EE) に影響するものであり、2026年10月21日の時点で修正版が公開されている。
影響を受けるコードは、2014年に公開された GitLab 7.0 まで遡るため、この脆弱性は約 12年前から存在していたことになる。ただし、長期間にわたり存在していたことが、その間に悪用されていたことを意味するわけではない。GitLab のアドバイザリには、この脆弱性のリスクが説明されているが、実際の攻撃が確認されたとの報告はなく、公開エクスプロイトも提供されていない。

GitLab におけるリモート・コード実行の脆弱性
GitLab の公式セキュリティ・アドバイザリによると、この脆弱性は、特別に細工された正規表現のコンパイル時に発生する、整数オーバーフローの問題に起因する。正規表現とは、テキストのパターン照合に使用される表現であり、特定の条件下で攻撃者が制御する正規表現が処理されると、サーバ上での任意のコード実行に至る可能性がある。
GitLab による CVSS 評価では、ネットワーク経由で攻撃可能で、攻撃の複雑さは低く、アカウント権限やユーザー操作も必要ないとされている。また、機密性/完全性/可用性のいずれにも、高い影響が及ぶと評価されている。その一方で、脆弱なコードに到達するための具体的な条件は一切公表されていない。
ただし、GitLab が明示しない限り、悪用に際して特定のプロジェクトや機能へのアクセスが必要だと、管理者は決めつけるべきではない。
このリリースノートには、Ruby の正規表現に関するパッチも記載されているが、完全な攻撃経路は明らかにされていない。
この問題を HackerOne のバグ報奨金プログラムを通じて報告した、セキュリティ研究者である joaxcar に、GitLab は謝意を示している。
修正対象となった脆弱性の一覧
今回のパッチリリースでは、合計 12 件の脆弱性が修正されている。
| CVE ID | Severity | CVSS Score | Affected Edition | Vulnerability and Potential Impact |
|---|---|---|---|---|
| CVE-2026-110264 | Critical | 10.0 | CE and EE | An integer overflow while compiling a specially crafted regular expression could allow an unauthenticated attacker to execute code on the GitLab server. |
| CVE-2026-15723 | High | 8.2 | CE and EE | Improper input handling during OmniAuth-to-LDAP account linking could let an authenticated attacker take over an LDAP-backed account when SAML and LDAP auto-linking are enabled. |
| CVE-2026-112212 | High | 7.5 | CE and EE | Cache poisoning in OAuth/OIDC discovery responses could let an unauthenticated attacker redirect certain authentication flows to an attacker-controlled server. |
| CVE-2026-12664 | Medium | 6.8 | CE and EE | Missing GraphQL scope checks could allow a user with a read_api token to retrieve a project’s incoming email address and create work items beyond the token’s intended permissions. |
| CVE-2026-16255 | Medium | 5.9 | EE | Incomplete SAML/LDAP membership-lock enforcement could allow authenticated users to grant or accept memberships outside identity-provider controls through requests created before the lock was enabled. |
| CVE-2026-105777 | Medium | 4.3 | CE and EE | Improper filtering of internal response headers could expose sensitive internal server credentials under certain conditions. |
| CVE-2026-13319 | Medium | 4.3 | CE and EE | Missing authorization checks in the group milestones API could let authenticated users read milestone details and project paths from private projects without membership. |
| CVE-2026-112378 | Medium | 4.3 | EE | Insufficient server-side billing checks could allow authenticated users to access paid AI features without a valid subscription. |
| CVE-2026-105711 | Low | 3.5 | CE and EE | Incorrect caching of merge request titles could expose confidential issue titles to authenticated users without project membership. |
| CVE-2026-14288 | Low | 3.1 | EE | Improper access control during approval-rule synchronization could allow authenticated users to bypass required merge request approvals on protected branches. |
| CVE-2026-112326 | Low | 3.1 | EE | Incorrect cleanup during error handling could allow users with read-only permissions to permanently delete existing vulnerability records. |
| CVE-2026-103515 | Low | 2.7 | EE | Incomplete enforcement of a Duo administrator lock could allow group Owners to re-enable AI-backed data transfers to a third-party service through Amazon Q settings. |
影響を受けるバージョンと修正済みリリース
この脆弱性は、GitLab CE/EE のバージョン 7.0 以降に影響する。
GitLab は、以下のバージョンで修正を提供している。
- 18.11.13
- 19.0.10
- 19.1.9
- 19.2.9
- 19.3.6
- 19.4.3
- 19.5.1
これらのブランチにおける、以前のリリースも影響を受ける。GitLab は、通常のパッチ・リリースに加えて、旧バージョン系列にも修正を提供している。セルフマネージド環境を運用する顧客に求められるのは、速やかなアップグレードである。
なお、すでに GitLab.com に修正済みソフトウェアが適用されている。GitLab の通知によると、19.3.5-internal0/19.4.2-internal0 以降を実行している GitLab Dedicated テナントも修正済みのため、追加の対応は不要とされている。なお、アドバイザリで特定されていないケースにおいては、すべての導入形態が影響を受けると、GitLab は説明している。
今回の問題について、10月12日に修正された別の GitLab のコード実行脆弱性と混同すべきではない。CVE-2026-97229 も正規表現の処理に関係していたが、影響を受けるバージョン範囲が異なるため、以前のアップデートを適用しただけでは、今回の新たな脆弱性への対処にはならない。
GitLab は、悪用の試みを特定するための次の 2 つの検出ガイドを、セルフマネージド環境向けに公開している。
- 「Onigmo native worker crash」(Onigmo のネイティブ・ワーカーのクラッシュ)
- 「Org mode render error burst」(Org モードのレンダリング・エラーの急増)
ただし、公開されている検出ガイド自体は、実際に発生した攻撃の証拠ではなく、リリース通知においても、「それらの兆候は侵害成功を証明するものではない」と明記されている。
今回のリリースでは、この他にも、認証やアクセス制御に関する脆弱性が修正されている。CVE-2026-15723 の CVSS スコアは 8.2 と評価されており、OmniAuth の SAML と LDAP の自動アカウント連携が、両方とも有効になっている場合にリスクを生じる。その結果、認証済みの攻撃者が、被害者の操作を必要とせずに既存の LDAP アカウントを乗っ取る可能性がある。
また、脆弱性 CVE-2026-112212 (CVSS 7.5) は、OAuth および OpenID Connect のディスカバリ応答に対するキャッシュ・ポイズニングの欠陥であり、特定の認証フローの結果が、攻撃者の管理するサーバへリダイレクトされる可能性がある。
今回の修正は、AI Gateway におけるリモート・コマンド実行の脆弱性などの、最近公開された GitLab のセキュリティ・アップデートに続くものである。これらの脆弱性は、対象となるコンポーネントや攻撃条件がそれぞれ異なるため、GitLab 関連のアップデートを 1 回適用すれば、すべての関連製品の問題が解決すると考えるのではなく、製品ごとに正確なバージョンを確認することが重要である。
管理者は、アップグレードを実施する前に、GitLab が公開するアップグレード手順を確認する必要がある。通知では、データベースのマイグレーションがアップグレード作業に影響する可能性があると警告されており、単一ノード構成ではダウンタイムが発生する場合がある。一方、適切なマルチノード構成では、ダウンタイムなしでアップグレードできる手順も用意されている。バージョン 19.3.6/19.4.3 には、通常のデータベース・マイグレーションが含まれている。
GitLab は通常、パッチ公開から 90 日後にセキュリティ問題の詳細を一般公開するが、すべての技術的な詳細の公表を待たず、速やかにアップデートを適用すべきである。
今回の GitLab の修正は、Node.js や PHP のセキュリティアップデートと時期が重なっている。Web アプリケーションや開発サービスを運用するセキュリティチームにおいては、複数製品のパッチ適用を並行して進める必要がある。Cyber Security News の報道によると、Node.js はセキュリティ・アップデートを公開し、26.x/24.x/22.x の各ブランチで確認された 10 件の脆弱性に対処している。修正済みバージョンとして、26.12.1/24.22.1/22.23.4 が挙げられている。
一方、PHP も PHP2Shell に対する緊急パッチを公開している。この PHP2Shell と呼ばれる問題は、メモリ処理に関係する緊急度の高い脆弱性 CVE-2026-109618/CVE-2026-109619 として識別されている。
この記事は、GitLab のセルフマネージド環境におけるリモートコード実行の脆弱性について解説するものです。約 12 年前から存在するコードの残存や、細工された正規表現のコンパイル時における整数オーバーフローが背景に存在します。影響として、未認証の攻撃者による任意のコード実行/深刻なシステム侵害が生じる恐れがあります。対応策として、該当バージョンへの速やかなセキュリティアップデートの適用/パッチリリースに基づくシステムのアップグレードが求められます。
You must be logged in to post a comment.