概要

GitLabは8月17日、CVSSスコア9.4(Critical)と評価される重大な脆弱性CVE-2026-19478を修正する緊急パッチをリリースした。この脆弱性は、認証されていない攻撃者がGraphQL APIの特定のディレクティブを悪用することで、リモートから公開プロジェクトやユーザーデータを改ざん・削除できてしまうというもので、自己管理(self-managed)インスタンスが影響を受ける。GitLab.comなどのクラウド版利用者は対応不要とされている。2026年に入ってからGraphQL層で発見された重大な脆弱性としては3件目であり、GitLabのGraphQL実装に関するセキュリティ課題が繰り返し表面化している格好だ。

技術的な詳細

CVE-2026-19478は、GraphQLディレクティブを通じたコード注入に起因する脆弱性とされている。具体的にどのディレクティブが悪用されるのか、また攻撃を成立させる条件については、GitLabの開示ポリシーに従い2026年11月中旬まで技術詳細が非公開とされている。影響を受けるバージョンはCommunity Edition(CE)・Enterprise Edition(EE)ともに18.2から18.11.10まで、19.0から19.0.7まで、19.1から19.1.5まで、19.2から19.2.3までの範囲で、修正版として19.2.4、19.1.6、19.0.8、18.11.11がリリースされた。なお、影響範囲に含まれる18.2から18.10までのブランチには直接の修正パッチが提供されておらず、これらのバージョンを利用している場合は18.11.11以降への完全なアップグレードが必要になる。

同時に、GraphQLの多重化(multiplex)クエリハンドラに存在するCSRF脆弱性CVE-2026-19650(CVSS 7.1)も修正されている。こちらは認証されていない攻撃者がGETリクエスト経由でミューテーションを実行できてしまう問題だが、悪用にはユーザーの操作(被害者が悪意あるページにアクセスするなど)を必要とする点でCVE-2026-19478とは異なる。両脆弱性はいずれもGitLabのHackerOneバグバウンティプログラムを通じて報告されたもので、CVE-2026-19478の報告者は「hiimguardian」というハンドル名で識別されている。現時点で野生における悪用や概念実証(PoC)コードの公開は確認されていない。

背景と今後の対応

GitLabはCVSS 9.4という評価の高さから、自己管理インスタンスの管理者に対して「immediately」つまり直ちにアップグレードを行うよう強く呼びかけている。認証を必要とせず、公開プロジェクトのデータを外部から改ざん・削除できてしまう性質上、悪用された場合の影響範囲は大きい。GraphQL APIは近年多くのSaaS製品でREST APIに代わる主要なインターフェースとして採用が進んでいるが、柔軟なクエリ構造ゆえにディレクティブや多重化クエリなど特有の攻撃面を持つことも知られており、今回の一連の脆弱性はその典型例といえる。技術詳細の全面公開は11月中旬を予定しており、それまでは公開されている修正バージョンへの更新を優先することが推奨される。