GitLabの重大な欠陥、攻撃者による任意ファイルの読み取りや認証情報の窃取、コード実行が可能に

GitLabは、未認証状態でのファイル漏えいと認証済みユーザーによる認証情報窃取を引き起こす可能性のある2件の重大な脆弱性、およびリモートコード実行を可能にする恐れのある高深刻度の欠陥に対処するため、緊急のセキュリティアップデートを発表しました。

Securitytraining courses

同社は2026年9月10日、GitLab Community EditionおよびEnterprise Editionのアップデート版、具体的にはバージョン19.3.2、19.2.6、19.1.8をリリースしました。

GitLabは、セルフマネージド型インスタンスの管理者に対し、直ちにアップグレードするよう強く呼びかけています。修正版はGitLab.comではすでに適用済みで、GitLab Dedicatedの顧客については対応不要です。

GitLabの重大な欠陥

最も深刻な問題はCVE-2026-85706として追跡されており、リポジトリのコミットAPIに見つかったパストラバーサル脆弱性で、CVSSスコアは10.0となっています。

特定の条件下では、未認証の攻撃者が不適切なパス制限と認証強制の欠如を悪用し、GitLabサーバー上の任意のファイルを読み取ることが可能です。

アカウントもユーザーの操作も一切必要としないため、特にインターネットに公開されているGitLabサーバーにとって重大なリスクとなります。こうした任意ファイル読み取りの脆弱性は、ファイルの権限やデプロイ構成次第で、アプリケーション設定、シークレット、トークン、秘密鍵など、サーバー側の機密情報を露呈させる可能性があります。

2つ目の重大な欠陥であるCVE-2026-87719は、Duo Chatへのアクセス機能を備えたGitLab Enterprise Editionのインスタンスに影響します。認証済みの攻撃者が、シリアル化制御を回避するよう細工したGraphQLサブスクリプション引数を送信すると、サーバー側オブジェクトの検索が可能になり、Advanced Searchのインスタンス設定データや機密性の高い認証情報を取得できてしまいます。GitLabはこの問題にCVSSスコア9.9を割り当てています。

GitLabはまた、Advanced Searchのインデックス作成時に使用されるUnicode変換ラッパーに存在する高深刻度のバッファオーバーフロー脆弱性、CVE-2026-88765も修正しました。

認証済みのGitLab EEユーザーが悪意を持って細工されたGitプロジェクトのエクスポートをインポートすると、このオーバーフローが発生し、リモートコード実行につながる可能性があります。

この欠陥には認証が必要で、攻撃の複雑度も高いものの、悪用に成功すれば攻撃者はGitLabサーバー上でコードを実行できるようになります。

ソースコード、CI/CDのシークレット、パッケージのアーティファクト、デプロイのワークフローを保管するDevOpsインフラにとって、この結果は特に深刻な意味を持ちます。

そのほかの修正では、保護されたCI/CD変数の露出、認可の不備、格納型・反射型のクロスサイトスクリプティング脆弱性、SAML SSO制限の回避、パッケージレジストリの改ざん、およびGraphQLによるサービス拒否攻撃にも対処しています。

影響を受けるバージョンと修正版

この重大な任意ファイル読み取りの脆弱性は、GitLab CE/EEのバージョン18.7から今回新たにリリースされた修正版までの範囲に影響します。GraphQLによる認証情報漏えいの欠陥はGitLab EEのバージョン18.3以降に影響し、一方でプロジェクトインポートによるリモートコード実行の問題は、GitLab EEのバージョン12.3まで遡って影響します。

Vulnerabilitydiscovery service

管理者は該当する修正版へアップグレードする必要があります。

  • GitLab 19.3 → 19.3.2
  • GitLab 19.2 → 19.2.6
  • GitLab 19.1 → 19.1.8

それより古い影響を受けるブランチを使用している組織は、運用上可能な限り早急に、サポート対象の修正済みリリースへ移行すべきです。セキュリティチームは、GitLabのアプリケーションログ、API活動、プロジェクトインポートのイベント、GraphQLサブスクリプションのリクエスト、CI/CD変数へのアクセスについても、不審な挙動がないか確認することが望まれます。

CVEの詳細

CVE 深刻度 / CVSS 影響を受けるエディション 脆弱性とセキュリティへの影響
CVE-2026-85706 重大 / 10.0 CE/EE リポジトリのコミットAPIにおける未認証のパストラバーサルにより任意ファイルの読み取りが可能に
CVE-2026-87719 重大 / 9.9 EE 安全でないGraphQLサブスクリプションのデシリアライズにより、Advanced Searchの設定情報や認証情報が露出する可能性
CVE-2026-88765 高 / 8.5 EE 細工されたプロジェクトエクスポートによりUnicode変換のバッファオーバーフローが発生し、RCEにつながる可能性
CVE-2026-79708 高 / 8.5 EE 開発者がポリシーテストパイプラインを実行し、保護されたCI/CD変数にアクセスできる可能性
CVE-2026-78252 高 / 8.2 CE/EE Markdown JSONテーブルのレンダリングの不備により、意図しない状態変更リクエストが誘発される可能性
CVE-2026-13210 高 / 7.7 CE/EE CI/CD環境スコープのマッチャーにより、変数が本来意図されたスコープ外に露出する可能性
CVE-2025-14871 高 / 7.5 CE/EE 未認証のGraphQL複雑度計算によりサービス拒否が発生する可能性
CVE-2026-1168 高 / 7.5 CE/EE 未認証のGraphQL複雑度制限機能の欠陥によりサービス拒否が発生する可能性
CVE-2024-11222 中 / 6.4 CE/EE マージリクエストパイプラインの競合状態により、別ユーザーのコミットのコンテキストで操作が可能になる可能性
CVE-2026-12910 中 / 5.4 CE/EE 認証済みユーザーがSAML SSOのサインイン制限を回避できる可能性
CVE-2026-82837 中 / 5.3 CE/EE Workhorseのsenddataエミッターにより、機密性の高い認証情報やトークンが露出する可能性
CVE-2026-19619 中 / 4.7 CE/EE Content EditorのHTMLサニタイズの問題により、対象セッションでJavaScriptが実行される可能性
CVE-2026-86341 中 / 4.4 EE オーナーまたはメンテナーが、保護された環境の承認要件を無効化できる可能性
CVE-2026-86340 中 / 4.4 EE 唯一の承認者を削除することで、保護された環境のデプロイ承認を回避できる可能性
CVE-2026-7514 中 / 4.3 CE/EE 開発者がGeneric Package Registryのコンテンツを置き換え、パッケージを非表示にできる可能性
CVE-2026-8030 中 / 4.3 CE/EE 名前空間の移管に関する検証の不備により、グループ設定の変更が妨げられる可能性
CVE-2026-16794 中 / 4.3 EE セキュリティマネージャーがCI/CDジョブを実行し、保護されたグループ・プロジェクトの変数にアクセスできる可能性
CVE-2026-3855 低 / 3.1 CE/EE Terraform State APIの欠陥により、制限されたファイルが漏えいしたり、サービス拒否が発生したりする可能性

SOCを常に最新の状態に保ち、マルウェアやフィッシングの脅威を発生から24時間以内に把握しましょう。 ANYRUNを試して早期検知でインシデントを未然に防ぎましょう。 

翻訳元: https://gbhackers.com/critical-gitlab-flaws/

本記事は gbhackers.com の記事を翻訳・要約したものです。