GitLabのコードインジェクションの脆弱性CVE-2026-19478
- カテゴリ
- 脆弱性の悪用
GitLabの2026年8月17日の発表によると、特定の条件下で未認証の利用者がGraphQLディレクティブを介して公開プロジェクトとユーザーデータを遠隔から改変・削除しうる脆弱性CVE-2026-19478を、修正版で直した[1]。watchTowrは8月19日、自社のハニーポット網が最初の悪用の試行を捉えたと警告した[13]。オランダのNCSCは8月26日、公開のPoCコードが出たとして警告を改めた[6]。
脆弱性の内容
| 項目 | CVE-2026-19478 | CVE-2026-19650 | 資料 |
|---|---|---|---|
| 種類 | GraphQLディレクティブを介したコードインジェクション | GraphQLのmultiplexクエリ処理での要求の検証の不備によるCSRF。未認証の利用者がGET要求でミューテーションを実行しえた | [1] |
| 修正一覧の深刻度 | Critical | High | [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] |
| CWE | CWE-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]。
時系列
対象の製品と版
GitLabは告知で、導入形態(omnibus、ソースコード、Helm chartなど)を明示していない製品は、すべての形態が影響を受けると説明した[1]。CVE-2026-19650の影響を受ける版も、CVE-2026-19478と同じである[1]。
| 製品 | 影響を受ける版 | 修正版 | 資料 |
|---|---|---|---|
| GitLab CE/EE | 19.2以上19.2.4未満 | 19.2.4 | [1] |
| GitLab CE/EE | 19.1以上19.1.6未満 | 19.1.6 | [1] |
| GitLab CE/EE | 19.0以上19.0.8未満 | 19.0.8 | [1] |
| GitLab CE/EE | 18.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]。
修正と回避策
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のインスタンスとプロジェクトの数
- 悪用を試みた主体
出典
当事者
- [1]GitLab Inc.『GitLab Critical Patch Release: 19.2.4, 19.1.6, 19.0.8, 18.11.11』(2026年8月17日公開)
公的機関
- [2]CVE Program(CNA: GitLab)『CVE-2026-19478 Improper Control of Generation of Code ('Code Injection') in GitLab』(2026年8月17日公開)
- [3]National Institute of Standards and Technology『NVD CVE-2026-19478』(2026年8月17日公開、2026年9月2日更新、2026年11月7日閲覧)
- [4]Canadian Centre for Cyber Security『GitLab security advisory (AV26-827)』(2026年8月18日公開、2026年8月21日更新)
- [5]CERT-FR『Multiples vulnérabilités dans GitLab (CERTFR-2026-AVI-1037)』(2026年8月18日公開)
- [6]Nationaal Cyber Security Centrum『Ernstige kwetsbaarheden in GitLab-producten ontdekt: update nu』(2026年8月18日公開、2026年8月26日更新)
- [7]National Cyber Security Centre『NCSC Advisory Critical Vulnerability in GitLab CE/EE CVE-2026-19478』(2026年8月25日公開、PDF)
調査・観測
- [9]Horizon3.ai, Inc.『CVE-2026-19478: GitLab Code Injection』(2026年8月20日公開、2026年9月15日更新)
- [10]Greenbone AG『CVE-2026-19478: GitLab CE/EE GraphQL Unauthenticated Flaw Actively Exploited』(2026年8月24日公開)
報道機関
- [11]The Hacker News『Critical GitLab GraphQL Flaw Could Let Unauthenticated Attackers Delete Public Projects』(2026年8月17日公開)
- [12]Industry Dive『GitLab issues emergency patch for critical code-injection flaw』(2026年8月18日公開、2026年8月19日更新)
- [13]SecurityWeek『Critical GitLab Flaw Exploited Shortly After Disclosure』(2026年8月20日公開)
- [14]The Hacker News『GitLab CVE-2026-19478 Comes Under Active Exploitation Within Days of Disclosure』(2026年8月21日公開)
背景資料
- [18]GitLab Inc.『Backend GraphQL API guide』(公開日不明、2026年11月7日閲覧)
更新記録
- 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)を加え、「悪用の状況」を改めた。
