GitLabのコードインジェクションの脆弱性CVE-2026-19478

カテゴリ
脆弱性の悪用
目次
  1. 脆弱性の内容
  2. 時系列
  3. 対象の製品と版
  4. 悪用の状況
  5. 修正と回避策
  6. 未公表の事項
  7. 出典
  8. 更新記録
  9. 関連記事

GitLabの2026年8月17日の発表によると、特定の条件下で未認証の利用者がGraphQLディレクティブを介して公開プロジェクトとユーザーデータを遠隔から改変・削除しうる脆弱性CVE-2026-19478を、修正版で直した⁠[1]。watchTowrは8月19日、自社のハニーポット網が最初の悪用の試行を捉えたと警告した⁠[13]。オランダのNCSCは8月26日、公開のPoCコードが出たとして警告を改めた⁠[6]。

脆弱性の内容

表1:同じリリースで修正された2件の脆弱性
項目CVE-2026-19478CVE-2026-19650資料
種類GraphQLディレクティブを介したコードインジェクションGraphQLのmultiplexクエリ処理での要求の検証の不備によるCSRF。未認証の利用者がGET要求でミューテーションを実行しえた⁠[1]
修正一覧の深刻度CriticalHigh⁠[1]
CVSS v3.1(GitLabの評価)9.4(AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:H)7.1(AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:L)⁠[1]
報告の経路GitLabのHackerOneのバグ報奨金プログラムGitLabのHackerOneのバグ報奨金プログラム⁠[1]
CWECWE-94-⁠[2]
CISAのSSVCの評価(2026年8月17日)Exploitation none、Automatable yes、Technical Impact partial-⁠[2]

GitLabの開発文書では、@gl_introducedは、ノードを導入したGitLabのマイルストーンを示すディレクティブである⁠[18]。指定したマイルストーンがバックエンドの版以降なら、フィールドはスキーマにあれば通常どおり解決され、無ければnullを返す⁠[18]。

Greenboneの8月24日の解説によると、原因は、明示のresolverなしにGraphQLのフィールドを動的に作るFutureFieldFallbackの処理にある⁠[10]。resolverが無いと、graphql-rubyは攻撃者が指定したフィールドで、元のオブジェクトの呼び出し可能なRubyのメソッドを実行する⁠[10]。改変・削除に至るのは、呼ばれたメソッドが、公開されたオブジェクトで引数なしに実行できる、状態を変えるメソッドのときである⁠[10]。

SecurityWeekは、watchTowrの主任研究員が、認証情報も利用者の操作も特殊な設定も要らず、1回のHTTP要求でリポジトリの削除、マージ記録の偽造、メンテナの追放ができると述べたと報じた⁠[13]。

The Hacker Newsの8月21日の記事では、watchTowrは、修正が入っていないのに入ったように見せるマージ記録の偽造にも触れた⁠[14]。

目次へ

時系列

時系列
日付主体内容資料
2026年8月17日GitLabCE/EEの修正版を公開し、CVE-2026-19478のCVE記録を公開した⁠[1、2]
2026年8月18日watchTowr公表から数分で脆弱性を再現できたと警告した⁠[12]
2026年8月18日カナダのサイバーセキュリティセンター、CERT-FR、オランダのNCSC勧告・警告を公開した⁠[4、5、6]
2026年8月21日カナダのサイバーセキュリティセンター勧告の更新1で、公開の情報によるとCVE-2026-19478が悪用されているとした⁠[4]
2026年8月25日アイルランドのNCSC勧告を公開した⁠[7]

目次へ

対象の製品と版

GitLabは告知で、導入形態(omnibus、ソースコード、Helm chartなど)を明示していない製品は、すべての形態が影響を受けると説明した⁠[1]。CVE-2026-19650の影響を受ける版も、CVE-2026-19478と同じである⁠[1]。

表2:CVE-2026-19478の影響を受ける版と修正版
製品影響を受ける版修正版資料
GitLab CE/EE19.2以上19.2.4未満19.2.4⁠[1]
GitLab CE/EE19.1以上19.1.6未満19.1.6⁠[1]
GitLab CE/EE19.0以上19.0.8未満19.0.8⁠[1]
GitLab CE/EE18.2以上18.11.11未満18.11.11⁠[1]
GitLab.com、GitLab Dedicated-修正版で稼働しており、利用者の対応は不要⁠[1]

The Hacker Newsは、影響の範囲に入る18.2〜18.10の系列には修正が及ばないと報じた⁠[11]。

目次へ

悪用の状況

The Hacker Newsの8月17日の記事によると、GitLabのアドバイザリはどちらの脆弱性の悪用も示しておらず、8月18日の段階ではGitHubに公開の攻撃コードは出ていなかった⁠[11]。

Horizon3.aiは解説のページで、CVE-2026-19478の悪用が観測されているとした⁠[9]。Greenboneの解説では、詳しい技術の解説とPoCが複数公開されている⁠[10]。

アイルランドのNCSCの勧告では、CISAの既知の悪用された脆弱性(KEV)のカタログへの掲載は「No」だった⁠[7]。NVDの記録(9月2日更新)にも、KEVへの追加の項目は無い⁠[3]。

表3:悪用の要求の形と痕跡
種別値示した組織資料
要求の形GraphQLの端点への未認証のHTTP要求1回と、未認証で解決できるオブジェクト(公開プロジェクトなど)Greenbone⁠[10]
クエリの内容GitLab固有のディレクティブ@gl_introducedで、スキーマに無いフィールドと将来の版を指定するGreenbone⁠[10]
Webのログで探す要求「@gl_introduced」を含む要求watchTowr⁠[13]

目次へ

修正と回避策

GitLabは、セルフマネージドのすべてのインストールを、直ちに修正版のいずれかへ更新するよう強く推奨した⁠[1]。GitLabのpatch releaseには、毎月第2・第4水曜日の定例のリリースと、深刻度の高い脆弱性のための臨時のcritical patchがある⁠[1]。The Hacker Newsは、今回の臨時のリリースが、重大の評価の項目を含まない定例のリリースの5日後に出たと報じた⁠[11]。

watchTowrは緩和策として、/api/graphqlの端点への未認証のアクセスを制限するか、公開リポジトリへのアクセスを完全に外すよう勧めたと、SecurityWeekが報じた⁠[13]。

オランダのNCSCは、2件の脆弱性の悪用の可能性を中、想定される被害を高と評価し、更新を促した⁠[6]。アイルランドのNCSCは、十分な試験の後に最優先で更新を導入するよう強く推奨した⁠[7]。CERT-FRは勧告で、リスクをデータの完全性の侵害、セキュリティポリシーの回避、CSRFとした⁠[5]。

目次へ

未公表の事項

  • GitLabによる、関係するディレクティブの名前と悪用の条件(GitLabは、各脆弱性の詳細を記したissueを、修正したリリースの90日後にissue trackerで公開するとした⁠[1])
  • GitLabによる悪用の有無の説明
  • GitLabによる回避策・暫定の緩和策
  • 実際に改変・削除されたGitLabのインスタンスとプロジェクトの数
  • 悪用を試みた主体

出典

当事者

公的機関

調査・観測

報道機関

背景資料

更新記録

  • 2026年8月23日:公開した。
  • 2026年8月24日:Greenboneの8月24日の解説(出典10)を加え、「脆弱性の内容」と「悪用の状況」を改めた。
  • 2026年8月25日:アイルランドのNCSCの8月25日の勧告(出典7)を加え、「時系列」「悪用の状況」「修正と回避策」を改めた。
  • 2026年8月26日:オランダのNCSCの警告の8月26日の更新(出典6)を加え、リードの最後の文を改めた。
  • 2026年9月2日:NVDの記録の9月2日の更新(出典3)を加え、「悪用の状況」を改めた。
  • 2026年9月15日:Horizon3.aiの解説の9月15日の更新版(出典9)を加え、「悪用の状況」を改めた。

目次へ