CVE-2026-121529 FortiClient|影響端末の確認と更新手順

  • URLをコピーしました!
目次

はじめに

2026 年 11 月 10 日、Fortinet は FortiClient のローカル API に関する脆弱性 CVE-2026-121529(FG-IR-26-194)を公開しました。発見者の研究者は本脆弱性を「Fortinet2Shell」と呼んでおり、複数のセキュリティ報道でもこの通称が使われています。なお、Fortinet2Shell は研究者による通称で、Fortinet の正式名称ではありません。

対象は利用者端末にインストールされる FortiClient Mac / Windows / Windows PAM です。攻撃者が用意した Web ページを利用者が開くなど、被害者の操作を伴う攻撃で、不正なコードやコマンドが実行される可能性があります。FortiClient を配布している情シス担当者、FortiClient EMS の管理者、FortiPAM の運用者は、管理下の端末のバージョンを確認する必要があります。

この記事でわかること
  • CVE-2026-121529(Fortinet2Shell)の概要と攻撃条件
  • 影響する FortiClient のバージョンと、影響しない製品
  • FortiPAM / FortiVRS.exe / TCP 9191 の位置づけと端末の確認方法
  • 修正版への更新前後に確認する観点と、暫定対策の限界

結論として、FortiClient Mac / Windows 7.4.0〜7.4.7、Windows 7.2.0〜7.2.14、および Windows PAM の同じ範囲に該当する端末は、7.4.8 以降または 7.2.15 以降への更新が必要です。Fortinet は Virtual Patch を提供しておらず、FortiPAM を使っていない端末でも、対象バージョンであれば更新対象です。8.0 系と FortiClient Mac 7.2 系は影響を受けません。

CVE-2026-121529(Fortinet2Shell)の概要と攻撃条件

本脆弱性は、FortiClient のローカル API が要求元の Origin を正しく検証しないことに起因します。ここでは、Fortinet の公式情報と、研究者・報道による説明を分けて整理します。

Fortinet PSIRT が公表している内容

Fortinet PSIRT のアドバイザリー「Origin validation error in local API endpoint」に記載されている主な項目は次のとおりです。攻撃の成立には被害者の操作が必要とされています。

項目PSIRT の記載
IR 番号FG-IR-26-194
公開日2026 年 11 月 10 日
脆弱性の種類Origin 検証不備(CWE-346)
コンポーネントAPI
深刻度Critical(CVSSv3 9.1)
攻撃種別認証不要(Unauthenticated)
影響権限昇格(Escalation of privilege)
既知の悪用No
Virtual PatchNo
報告者Kevin Joensen 氏(Baldur Security)

参考: Fortinet PSIRT(FG-IR-26-194)
“may allow an unauthorized remote attacker to execute unauthorized code or commands.”
(認証されていないリモートの攻撃者が、不正なコードやコマンドを実行できる可能性がある。)
https://fortiguard.fortinet.com/psirt/FG-IR-26-194

研究者が説明する Fortinet2Shell の攻撃経路

GBHackers などの報道によると、Kevin Joensen 氏は根本原因を CORS の設定不備と説明しています。FortiClient が端末上で動かしているローカルサービスが Web ページからの要求を誤って信頼するため、攻撃者が用意したサイトからそのサービスへ要求を送り、コードを実行できるとされています。また、FortiPAM を有効にした FortiClient で安定して成立すると述べたと報じられています。

発見者本人の投稿原文は本記事の執筆時点で直接確認できていないため、以下は報道と Fortinet の公開資料で確認できた範囲の説明です。まず、関係する用語を整理します。

Origin

Web ページの出所を示す「スキーム・ホスト名・ポート番号」の組み合わせです。ブラウザーは、Origin が異なるページ同士のデータのやり取りを制限しています。この制限を同一オリジンポリシーと呼びます。

CORS

Cross-Origin Resource Sharing の略で、サーバー側が「どの Origin からの要求を受け入れるか」をブラウザーへ伝える仕組みです。許可する範囲を広く設定しすぎると、意図しない Web サイトからの要求も受け付けてしまいます。

ローカル API

端末上のソフトウェアが自身の端末内で待ち受け、同じ端末のブラウザーや他のプロセスから呼び出される API です。PSIRT のタイトルにある「local API endpoint」がこれに当たります。

ローカル API は「同じ端末からの要求だから安全」と扱われがちですが、ブラウザーは外部サイトのスクリプトから端末内のサービスへ要求を送信できます。要求元の Origin を検証しないと、利用者が開いた外部ページを経由してローカル API が操作されるおそれがあります。

ただし、CORS の設定不備があるだけで、任意のコード実行に至るわけではありません。コード実行に至るかどうかは、そのローカル API がどのような機能を提供し、受け取った要求をどう処理するかに依存します。Fortinet の FortiPAM 管理ガイドでは、FortiClient の FortiVRS がユーザーセッションでアプリケーションを起動する役割を担うと説明されています。一方、脆弱なエンドポイント名、要求の内容、コード実行時の権限は公開されていません。

FortiClient と FortiClient EMS の違い

今回の脆弱性は、利用者端末にインストールされる FortiClient(端末エージェント)の問題です。FortiClient を管理する FortiClient EMS サーバーそのものの脆弱性ではありません。

項目FortiClientFortiClient EMS
役割端末エージェント(VPN、ZTNA、PAM 連携など)FortiClient を配布・管理する管理サーバー
導入場所利用者の Windows / Mac 端末管理用サーバー
CVE-2026-121529対象PSIRT の影響表に記載なし
CVE-2026-35616対象外対象(EMS 側の脆弱性)

EMS のバージョンが新しいことだけでは、管理対象の端末に脆弱な FortiClient が残っていないとは判断できません。端末側のバージョンは、EMS のエンドポイント一覧などで個別に確認してください。過去に悪用された EMS サーバー側の脆弱性と緊急ホットフィックスの手順は、『FortiClient EMS の脆弱性 CVE-2026-35616 と緊急ホットフィックス適用の手順』で解説しています。

悪用状況と CVSS の評価元

Fortinet PSIRT は、本脆弱性の既知の悪用を「No」としています。また、2026 年 11 月 10 日版の CISA KEV カタログに CVE-2026-121529 は掲載されていません。CISA KEV に掲載されている FortiClient EMS の脆弱性(CVE-2026-35616 など)は別製品・別 CVE であり、本 CVE の悪用実績ではありません。

CVSS は評価元によって表示値が異なります。どの値でも Critical の範囲であり、対応の優先度は変わりません。

評価元CVSS備考
Fortinet PSIRT9.1CVSSv3 として公表
CVE レコード(CNA: Fortinet)9.12026 年 11 月 12 日更新時点の記録
NVD の表示9.6報道による。NVD 独自の分析は保留中と報じられている

影響する FortiClient のバージョンと影響しない製品

Fortinet PSIRT の影響表(2026 年 11 月 12 日確認)は次のとおりです。FortiClient Mac は 7.4 系のみ、FortiClient Windows と Windows PAM は 7.4 系と 7.2 系が対象です。

製品系列影響バージョン対応
FortiClient Mac8.0影響なし対応不要
FortiClient Mac7.47.4.0〜7.4.77.4.8 以降へ更新
FortiClient Mac7.2影響なし対応不要
FortiClient Windows8.0影響なし対応不要
FortiClient Windows7.47.4.0〜7.4.77.4.8 以降へ更新
FortiClient Windows7.27.2.0〜7.2.147.2.15 以降へ更新
FortiClient Windows PAM8.0影響なし対応不要
FortiClient Windows PAM7.47.4.0〜7.4.77.4.8 以降へ更新
FortiClient Windows PAM7.27.2.0〜7.2.147.2.15 以降へ更新

影響表に記載されている製品は FortiClient Mac / Windows / Windows PAM の 3 つです。VPN 機能のみの無償版など、表に記載のない製品・エディションを利用している場合は、PSIRT の最新版と照合して判断してください。

CVE レコードとの記載差異(Windows PAM)

CVE レコード(2026 年 11 月 12 日更新時点)では、FortiClient Windows PAM の影響バージョンが 7.4.7 と 7.2.14 の個別バージョンとしてのみ記録されています。一方、PSIRT は 7.4.0〜7.4.7 と 7.2.0〜7.2.14 の範囲で記載しています。修正版はどちらも 7.4.8 以降、7.2.15 以降で一致しています。

本記事では、ベンダーの一次情報である PSIRT の範囲表記を対応判断の基準とし、Windows PAM の 7.4.0〜7.4.6 や 7.2.0〜7.2.13 も更新対象として扱うことを推奨します。脆弱性スキャナーなどが CVE レコードの情報を基に判定している場合、7.4.7 / 7.2.14 以外の Windows PAM を対象外と表示する可能性がある点に注意してください。

FortiPAM を使っていない端末の扱い

研究者は FortiPAM を有効にした環境でのコード実行に言及していますが、PSIRT は FortiPAM の有効化を攻撃条件として記載していません。PSIRT の影響表には、PAM 専用の Windows PAM だけでなく、FortiClient Mac と FortiClient Windows も含まれています。

そのため、FortiPAM を使っていない端末でも、PSIRT の対象バージョンに該当すれば更新対象として扱ってください。FortiPAM を利用している端末は、研究者が攻撃の成立を報告している構成のため、更新の優先度を上げることをおすすめします。

自社端末の確認方法と FortiPAM / TCP 9191 の位置づけ

影響端末の特定は、製品の種類とバージョンの照合が基本です。FortiVRS.exe や TCP 9191 は、Windows で補助的に確認する参考指標として扱います。

手順
製品の種類とエディションを確認する

端末にインストールされているのが FortiClient Mac / Windows / Windows PAM のどれかを確認します。EMS で管理している端末は EMS のエンドポイント一覧、それ以外は MDM や資産管理ツールのインベントリーを使うと、端末ごとの確認を減らせます。

手順
OS とインストール済みバージョンを確認する

OS とバージョン(8.0 系 / 7.4 系 / 7.2 系)を確認します。Mac は 7.4 系のみが対象で、7.2 系は影響を受けません。EMS の管理外で個別にインストールされた端末も確認対象に含めます。

手順
FortiPAM の利用状況を確認する

FortiPAM を運用しているか、FortiPAM 機能を有効にして FortiClient を導入した端末や Windows PAM を導入した端末がどれかを把握します。この結果は更新の優先度付けに使い、対象かどうかの判定には使いません。

手順
必要に応じて FortiVRS.exe と TCP 9191 を確認する

Windows 端末では、後述のコマンドで FortiVRS.exe の実行と TCP 9191 の待ち受けを確認できます。FortiPAM 関連機能が動作している端末を洗い出す補助として使います。

手順
対象バージョンと照合して更新優先度を決める

前章の影響表と照合し、対象バージョンの端末をすべて更新対象とします。そのうえで、FortiPAM を利用する管理者端末や、外部の Web サイトを閲覧する機会が多い端末から優先して更新することをおすすめします。

Windows で FortiClient のバージョンと FortiVRS.exe を確認するコマンド

Windows 端末で個別に確認する場合は、次の PowerShell コマンドを使用できます。いずれも情報を取得するだけの読み取り専用のコマンドで、設定やプロセスは変更しません。

インストール済みの FortiClient の製品名とバージョンを、レジストリのアンインストール情報から表示します。

Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*','HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*' |
    Where-Object { $_.DisplayName -like '*FortiClient*' } |
    Select-Object DisplayName, DisplayVersion

FortiVRS.exe のプロセスが実行されているかを確認します。-Name には拡張子 .exe を付けずに指定します。

Get-Process -Name FortiVRS -ErrorAction SilentlyContinue

TCP 9191 で待ち受けている接続と、所有プロセスの PID を表示します。

Get-NetTCPConnection -LocalPort 9191 -State Listen -ErrorAction SilentlyContinue |
    Select-Object LocalAddress, LocalPort, State, OwningProcess

コマンドの仕様は Microsoft の公式リファレンス(Get-ItemProperty / Get-Process / Get-NetTCPConnection)を参照してください。複数の端末をまとめて確認する場合は、EMS のインベントリーや既存の資産管理ツールの利用を優先することをおすすめします。

FortiVRS.exe と TCP 9191 の位置づけ

報道によると、Joensen 氏はバージョン確認に加え、Windows で脆弱なインストールを見つける手がかりとして TCP 9191 で待ち受けるサービスと FortiVRS.exe の実行を挙げています。Fortinet の公式ドキュメントでも、fortivrs.exe は PAM 機能を担うプロセスとして、TCP 9191 は FortiPAM で使用するポートとして記載されています。

参考: FortiClient Administration Guide(FortiClient (Windows) processes)
“fortivrs.exe FortiClient Video Record Daemon provides PAM functionality”
(fortivrs.exe は FortiClient Video Record Daemon で、PAM 機能を提供する。)
https://docs2.fortinet.com/document/forticlient/7.2.13/administration-guide/209271

FortiVRS.exe や TCP 9191 は研究者由来の参考指標です。検出されない端末でも対象バージョンであれば更新が必要で、検出されても侵害の有無は判断できません。脆弱性の確定判定はバージョン照合で行ってください。

Mac 端末の確認

FortiClient Mac 7.4.0〜7.4.7 も影響を受けます。FortiVRS.exe と TCP 9191 は Windows について報じられた指標のため、Mac 端末は EMS や MDM のインベントリー、または FortiClient 上のバージョン表示で 7.4 系のバージョンを確認してください。Windows 固有の指標が見つからないことを理由に、Mac 端末を対象外と判断しないよう注意が必要です。

修正版への更新と適用後の確認

恒久対策は、7.4 系は 7.4.8 以降、7.2 系は 7.2.15 以降への更新です。CVE レコードの解決策には 8.0.0 以降への更新も記載されていますが、メジャーバージョンの変更となるため、互換性を確認したうえで判断してください。

更新前に確認すること

  • 配布方法: EMS からの配布、MDM、ソフトウェア配布ツール、手動インストールのどれで配布しているか
  • 管理方法: EMS の管理外にある端末や、長期間ネットワークに接続していない端末がないか
  • バージョン互換性: 利用中の EMS、FortiGate、FortiPAM と更新後の FortiClient の組み合わせが、対象バージョンのリリースノートでサポートされているか
  • 業務影響: 更新中の VPN 切断や再起動の要否、在宅勤務者への周知、更新を実施する時間帯

具体的なアップグレード手順は、配布方法や EMS のバージョンによって異なります。利用中の FortiClient と EMS のバージョンに対応する Fortinet 公式の管理ガイドとリリースノートを確認してから実施してください。

適用後に確認する観点

確認観点確認内容
バージョン端末と EMS のインベントリーで 7.4.8 以降または 7.2.15 以降になっているか
VPN 接続利用している VPN(SSL VPN / IPsec VPN など)で接続できるか
認証SAML などの認証方式で、更新前と同様にサインインできるか
FortiPAM 関連機能FortiPAM を利用している場合、シークレットの起動やセッション録画が動作するか
管理サーバーとの通信EMS 上で端末の接続状態やポリシー適用が正常に表示されるか
未更新端末オフライン端末や EMS 管理外の端末が残っていないか

暫定対策の限界

Fortinet PSIRT は Virtual Patch を「No」としており、FortiGuard の IPS シグネチャーなどによるネットワーク側の緩和策は示されていません。不審なリンクへのアクセス抑止、Web フィルタリング、利用者への注意喚起は攻撃ページへの到達を減らす補助的な策で、修正版への更新と同等の対策ではありません。

また、研究者の説明どおりであれば、攻撃の最終段階は端末内のブラウザーからローカル API への通信で行われると考えられます。これは研究者の説明に基づく編集上の推論です。FortiGate の IPS や通信制御だけで本脆弱性を確実に防げるとは判断できないため、対象端末の更新を最優先してください。

まとめ

CVE-2026-121529(Fortinet2Shell)は、利用者端末の FortiClient が持つローカル API の Origin 検証不備です。対象バージョンの判定は PSIRT の影響表とのバージョン照合で行い、該当する端末は修正版へ更新する必要があります。

  • CVE-2026-121529 は FortiClient のローカル API の Origin 検証不備です。
  • Mac / Windows 7.4.0〜7.4.7 と Windows 7.2.0〜7.2.14 が対象です。
  • Windows PAM も同じ範囲が対象で、8.0 系と Mac 7.2 系は影響を受けません。
  • FortiPAM を使っていなくても、対象バージョンなら更新が必要です。
  • EMS が新しくても、端末側の FortiClient は個別に確認が必要です。
  • FortiVRS.exe や TCP 9191 は参考指標で、確定判定には使えません。
  • Virtual Patch はなく、7.4.8 / 7.2.15 以降への更新が恒久対策です。

以上、最後までお読みいただきありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

関西を拠点に活動する、現役インフラエンジニア。経験20年超。

大手通信キャリアにて、中〜大規模インフラ(ネットワーク・サーバ・クラウド・セキュリティ)の設計・構築およびプロジェクトマネジメントに従事。現場で直面した技術課題への対処や、最新の脆弱性情報への実務対応を、一次情報として発信しています。

保有資格
CCIE Lifetime Emeritus(取得から20年以上)/ VCAP-DCA / Azure Solutions Architect Expert

▶ 運営者プロフィール(詳細)

目次