脆弱性対応ウォッチ重大・クリティカル脆弱性のクラウド別対応まとめ
最新更新履歴CriticalHigh回避策のみパッチありAWSGCPAzureLinux
High CVSS 7.5 KEV 悪用確認
CVE-2021-39935

GitLab の CI Lint API で未認証の外部から SSRF(悪用確認済み)

情報取得日: 2026/02/03/最終確認: 2026/08/15・本ページは公開情報の非公式まとめです

CVE IDCVE-2021-39935
製品GitLab / GitLab CE/EE
CVSS7.5(High)
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
種別 (CWE)CWE-918 サーバーサイドリクエストフォージェリ(SSRF)
CVE 公開日2021/12/13(NVD)
CISA KEV 収載日2026/02/03
2021年に公開された脆弱性です。新着として扱う前に公開年を確認してください。
KEV 期限2026/02/24 まで(米国連邦機関向け目安)
推奨対応ベンダーの指示に従って緩和策を適用し、クラウドサービスについては該当する BOD 22-01 のガイダンスに従うこと。緩和策が無い場合は当該製品の使用を停止すること。
出典https://nvd.nist.gov/vuln/detail/CVE-2021-39935

概要

GitLab CE/EE の CI Lint API を経由して、権限のない外部の利用者がサーバーサイドリクエストを発行できた。CI Lint は .gitlab-ci.yml の構文検査を行う機能で、include で外部の設定ファイルを取り込む仕組みを持つため、指定先を内部のアドレスにすると GitLab サーバから内部宛のリクエストを出させられる。影響するのは 10.5 以降 14.3.6 未満、14.4 以降 14.4.4 未満、14.5 以降 14.5.2 未満のすべての版で、CE と EE の両方が対象。修正が入ったのは 14.3.6、14.4.4、14.5.2 である。CVSS は評価元で割れており、NVD(Primary)は 7.5 High(CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N)、CNA の GitLab は 6.8 Medium(CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N)としている。両者とも影響は機密性のみ(I:N/A:N)で一致しており、差は攻撃条件の難しさ(AC:L か AC:H)とスコープ変更の扱いである。旧 CVSS v2 では 5.0。公開は 2021年12月13日だが、CISA KEV への収載は 2026-02-03 で是正期限は 2026-02-24、ランサムウェア利用は Unknown。NVD の vulnStatus は Analyzed。同じ SSRF 系の CVE-2021-22175 と併せて、古い GitLab が現役の攻撃対象になっていることを示す収載である。

クラウド/OS 別の対応状況

各ベンダー公式アドバイザリで確認できた事実に基づき整理しています。確認できていない項目は「情報確認中」と明記し、存在しないパッチ番号・バージョンは記載しません。

AWS / GCP / Azure / Linux いずれも対応区分は同じです: パッチあり(アプリ更新) 下の表は環境ごとの補足です。
環境対応状況対応方法・備考
AWS (ECS/EC2) パッチあり(アプリ更新)
EC2 / EKS 上の自己管理 GitLab を 14.3.6 / 14.4.4 / 14.5.2 以降(実際には現行のサポート版)へ更新する
AWS 側の欠陥ではなく利用者が動かすアプリの問題。SSRF の到達先として最も価値が高いのはインスタンスメタデータなので、IMDSv2 の必須化とホップ制限を併せて設定する。ALB 経由で外部公開している旧インスタンスが優先対象。
参照リンク
GCP パッチあり(アプリ更新)
Compute Engine / GKE 上の自己管理 GitLab をサポート版へ更新する
GitLab ホストからメタデータサーバと内部管理系への egress を firewall で制限する。Cloud Load Balancing で公開している場合は、更新までの間 CI Lint の API へのアクセス制御を前段で入れる。
参照リンク
Azure パッチあり(アプリ更新)
Azure VM / AKS 上の自己管理 GitLab をサポート版へ更新する
NSG で内部宛 egress を絞り、Instance Metadata Service への到達も制限する。Application Gateway や Front Door を前段に置いている場合はそこで未認証アクセスを止められる。
参照リンク
Linux パッチあり(アプリ更新)
omnibus パッケージまたはソース導入の GitLab を 14.3.6 / 14.4.4 / 14.5.2 以降へ更新する(当該修正は 14.5.2 のセキュリティリリースで公表されている)
ディストリの標準リポジトリではなく GitLab 公式のパッケージリポジトリから更新する。10.5 以降のすべてが影響するため、長く更新していない環境はほぼ該当する。メジャー版を飛ばせない更新経路があるので手順を確認してから実施する。
参照リンク

解決の方向性(パッチ/回避策/代替)

判定は自己管理型 GitLab の版の確認である。管理エリアの表示か gitlab-rake gitlab:env:info で版を取り、14.3.6 / 14.4.4 / 14.5.2 のいずれの修正版にも達していない 10.5 以降なら該当する。GitLab.com などの SaaS 側は運営が更新済みなので利用者の作業はない。見落としやすい場所は前世代の CVE と同じで、移行後に残した旧インスタンス、部門が個別に立てたオンプレサーバ、そして更新を止めた omnibus 環境である。加えてこの CVE は未認証の外部から叩ける API 経由なので、インターネットに公開している自己管理インスタンスは特に優先度が高い。すぐに更新できない場合の緩和策は、外部からの到達を絞ることと、SSRF の行き先を潰すことの二方向になる。前者はリバースプロキシや WAF で /api/v4/ci/lint への未認証アクセスを止める、あるいはインスタンス全体を VPN の内側へ移す。後者は GitLab ホストからの egress を制限して内部管理セグメントと 169.254.0.0/16(クラウドのメタデータ)宛を落とし、AWS では IMDSv2 を必須化する。完了条件は、(1)自己管理インスタンスが 14.3.6 / 14.4.4 / 14.5.2 以降(実運用では現行のサポート版)になっていること、(2)GitLab ホストから内部の重要サービスとメタデータへ到達できないことをネットワーク側でも担保できていること、の2点である。KEV 収載済みで実際に悪用されているため、古い版を外部公開していた場合は更新後の確認まで行う。具体的には GitLab ホストの外向きアクセスログで内部宛やメタデータ宛の記録を探し、インスタンスに紐づくクラウドの資格情報、CI/CD 変数、デプロイトークンを再発行する。是正期限 2026-02-24 は既に過ぎているので、残存インスタンスは期限超過扱いとする。

よくある質問(CVE-2021-39935)

CVE-2021-39935(GitLab CE/EE)の影響は?

High(CVSS 7.5)に分類されるGitLab GitLab CE/EEの脆弱性です。GitLab CE/EE の CI Lint API を経由して、権限のない外部の利用者がサーバーサイドリクエストを発行できた。CI Lint は .gitlab-ci.yml の構文検査を行う機能で、include で外部の設定ファイルを取り込む仕組みを持つため、指定先を内部のアドレスにすると GitLab サーバから内部宛のリクエストを出させられる。影響するのは 10.5 以降 14.3.6 未満、14.4 以降 14.4.4 未満、14.5 以降 14.5.2 未満のすべての版で、CE と EE の両方が対象。修正が入ったのは 14.3.6、14.4.4、14.5.2 である。CVSS は評価元で割れており、NVD(Primary)は 7.5 High(CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N)、CNA の GitLab は 6.8 Medium(CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N)としている。両者とも影響は機密性のみ(I:N/A:N)で一致しており、差は攻撃条件の難しさ(AC:L か AC:H)とスコープ変更の扱いである。旧 CVSS v2 では 5.0。公開は 2021年12月13日だが、CISA KEV への収載は 2026-02-03 で是正期限は 2026-02-24、ランサムウェア利用は Unknown。NVD の vulnStatus は Analyzed。同じ SSRF 系の CVE-2021-22175 と併せて、古い GitLab が現役の攻撃対象になっていることを示す収載である。

CVE-2021-39935 の対応方法・回避策は?

判定は自己管理型 GitLab の版の確認である。管理エリアの表示か gitlab-rake gitlab:env:info で版を取り、14.3.6 / 14.4.4 / 14.5.2 のいずれの修正版にも達していない 10.5 以降なら該当する。GitLab.com などの SaaS 側は運営が更新済みなので利用者の作業はない。見落としやすい場所は前世代の CVE と同じで、移行後に残した旧インスタンス、部門が個別に立てたオンプレサーバ、そして更新を止めた omnibus 環境である。加えてこの CVE は未認証の外部から叩ける API 経由なので、インターネットに公開している自己管理インスタンスは特に優先度が高い。すぐに更新できない場合の緩和策は、外部からの到達を絞ることと、SSRF の行き先を潰すことの二方向になる。前者はリバースプロキシや WAF で /api/v4/ci/lint への未認証アクセスを止める、あるいはインスタンス全体を VPN の内側へ移す。後者は GitLab ホストからの egress を制限して内部管理セグメントと 169.254.0.0/16(クラウドのメタデータ)宛を落とし、AWS では IMDSv2 を必須化する。完了条件は、(1)自己管理インスタンスが 14.3.6 / 14.4.4 / 14.5.2 以降(実運用では現行のサポート版)になっていること、(2)GitLab ホストから内部の重要サービスとメタデータへ到達できないことをネットワーク側でも担保できていること、の2点である。KEV 収載済みで実際に悪用されているため、古い版を外部公開していた場合は更新後の確認まで行う。具体的には GitLab ホストの外向きアクセスログで内部宛やメタデータ宛の記録を探し、インスタンスに紐づくクラウドの資格情報、CI/CD 変数、デプロイトークンを再発行する。是正期限 2026-02-24 は既に過ぎているので、残存インスタンスは期限超過扱いとする。

自分の環境が CVE-2021-39935 の影響を受けるか確認するには?

GitLab GitLab CE/EE を利用している場合、稼働バージョンが影響範囲に含まれるかを一次情報(https://nvd.nist.gov/vuln/detail/CVE-2021-39935)で確認してください。AWS・GCP・Azure・Linux それぞれの対応状況は本ページの「クラウド/OS 別の対応状況」表にまとめています。確認できていない項目は「情報確認中」と明記しており、存在しないパッチ番号・バージョンは記載していません。

CVE-2021-39935 は実際に悪用されている?

はい。CISA の既知の悪用された脆弱性カタログ(KEV)に登録されており、実環境での悪用が確認されています。米国連邦機関向けの対応期限の目安は 2026/02/24 です。推奨される対応: ベンダーの指示に従って緩和策を適用し、クラウドサービスについては該当する BOD 22-01 のガイダンスに従うこと。緩和策が無い場合は当該製品の使用を停止すること。

参考情報(出典)

本ページの記載は下記の一次情報に基づく非公式まとめです。数値・対応状況は各出典元で最終確認してください(最終確認: 2026/08/15)。

免責: 本ページは CISA KEV・NVD・各ベンダー公式アドバイザリ等の公開情報をもとにした非公式まとめです。修正バージョンや対応可否は変更される場合があります。実際の対応は必ず 出典元および各ベンダー公式情報・自環境で確認してください。

« 一覧に戻る