はじめに
2026 年 5 月 12 日、Fortinet PSIRT より FortiOS の CAPWAP daemon に存在する Out-of-Bounds Write 脆弱性 を扱うアドバイザリ FG-IR-26-123 が公開されました。CAPWAP daemon は FortiGate が FortiAP / FortiSwitch / FortiExtender を集中管理するための中核的なプロセスであり、本脆弱性が悪用された場合、侵害された配下デバイス(FortiAP / FortiExtender / FortiSwitch)経由で FortiGate 本体上の実行権限を取得され得る深刻な内容となります。
無線 LAN/スイッチ統合管理のために FortiGate に多数の FortiAP・FortiSwitch を接続している環境は少なくありません。配下デバイスの一台が侵害されただけで、ネットワークの中心に位置する FortiGate そのものを乗っ取られかねないという点で、Fortinet 製品によるネットワーク統合管理を採用している環境では運用判断を急ぐ必要のあるアドバイザリと位置付けられます。
本記事では、FG-IR-26-123 の技術的な概要、影響を受ける FortiOS バージョン、暫定回避策(wireless-controller 無効化)の運用影響、そして FortiOS のアップグレードによる恒久対処と適用後の確認ポイントまでを実務目線で整理します。
- FG-IR-26-123(CAPWAP daemon Out-of-Bounds Write)の技術的な概要と攻撃成立条件
- 影響を受ける FortiOS バージョン(7.2 / 7.4 / 7.6 系)と修正版
wireless-controller無効化による暫定回避策の内容と運用影響- アップグレード前のバックアップ取得・強制アップグレード時の注意点
- アップグレード後の修正バージョン反映確認と CAPWAP 関連ログの監視ポイント
FG-IR-26-123(CAPWAP daemon Out-of-Bounds Write)の概要
FG-IR-26-123 は、FortiOS の CAPWAP daemon に存在するメモリ境界外への書き込み(CWE-787: Out-of-Bounds Write)の脆弱性です。攻撃者が認証済みの FortiAP / FortiExtender / FortiSwitch を制御下に置いた状況下で、FortiGate 上に実行権限を獲得し得る点が本件の本質となります。

脆弱性の基本情報
Fortinet PSIRT は本脆弱性について以下のように説明しています。
参考: Fortinet PSIRT Advisory FG-IR-26-123 – Summary
“An Out-Of-Bounds Write vulnerability [CWE-787] in FortiOS capwap daemon may allow an attacker controlling an authenticated FortiAP FortiExtender or FortiSwitch to gain execution privileges on the FortiGate device”
(FortiOS の CAPWAP デーモンにおける Out-Of-Bounds Write 脆弱性 [CWE-787] により、認証済みの FortiAP、FortiExtender、または FortiSwitch を制御下に置いた攻撃者が FortiGate デバイス上で実行権限を獲得し得る可能性があります。)
https://www.fortiguard.com/psirt/FG-IR-26-123
整理すると、本脆弱性の特徴は次の通りです。
| 項目 | 内容 |
|---|---|
| IR Number | FG-IR-26-123 |
| CVE ID | CVE-2025-53844 |
| 脆弱性カテゴリ | CWE-787(Out-of-Bounds Write) |
| 影響を受けるコンポーネント | FortiOS CAPWAP daemon(cw_acd プロセス) |
| Severity | High |
| CVSSv3 Score | 8.3 |
| Attack Type | Authenticated |
| Known Exploited | No(実環境での悪用報告なし) |
| Impact | Execute unauthorized code or commands |
| 攻撃者の前提 | 認証済みの FortiAP / FortiExtender / FortiSwitch を制御下に置いていること |
| 影響を受ける FortiOS | 7.6.0 ~ 7.6.3 / 7.4.0 ~ 7.4.8 / 7.2.0 ~ 7.2.11 |
| 発見者 | Fortinet 内部(Gwendal Guégniaud 氏 / Fortinet Product Security team) |
| 初公開日 | 2026-05-12 |
Severity は High、CVSSv3 スコアは 8.3 と評価されており、Fortinet の脆弱性区分でも高位のリスクとして扱われています。Impact は “Execute unauthorized code or commands”(許可されていないコード・コマンドの実行)と明示されており、攻撃成立時の結果が FortiGate 管理プレーンの直接侵害につながる点で深刻です。
Attack Type は Authenticated に分類されており、配下デバイス(FortiAP / FortiExtender / FortiSwitch)が FortiGate に対して認証済みであることが攻撃成立の前提となります。また、Known Exploited は No とされており、本記事執筆時点で実環境での悪用は報告されていません。
CAPWAP プロトコルと CAPWAP daemon の役割
CAPWAP(Control And Provisioning of Wireless Access Points)は、RFC 5415 で標準化された無線アクセスポイント管理プロトコルで、FortiGate と FortiAP(および FortiSwitch、FortiExtender)の集中管理トンネルを確立するために使用されます。
CAPWAP は次の 2 つのチャネルから構成されます。
| チャネル | プロトコル / ポート | 用途 |
|---|---|---|
| 制御チャネル | UDP 5246(既定) | デバイス検出・認証・設定配信・状態通知 |
| データチャネル | UDP 5247(既定) | クライアントトラフィックのトンネル転送 |
制御チャネルは DTLS で保護されており、ここで FortiAP / FortiSwitch / FortiExtender が FortiGate に対して認証を受け、管理トンネルが確立されます。FortiOS 側でこの管理通信を処理するのが CAPWAP daemon(プロセス名 cw_acd、wireless controller acd の略) です。
参考: Fortinet Community – Short list of processes on the FortiGate
“cw_acd / cw_acd_helper / cu_acd: Handles management of FortiAP/FortiSwitch via CAPWAP traffic.”
(cw_acd / cw_acd_helper / cu_acd: CAPWAP トラフィックを介した FortiAP / FortiSwitch の管理を処理します。)
https://community.fortinet.com/t5/FortiGate/Technical-Tip-Short-list-of-processes/ta-p/190775
cw_acd は FortiAP / FortiSwitch / FortiExtender の検出、認証、設定配信、状態管理を担う中核プロセスであり、FortiOS の起動時から常駐します。本脆弱性が cw_acd 内部のメモリ境界外書き込みに起因するため、攻撃が成立した場合、FortiGate の管理プレーン中心部での任意コード実行に直結し得る構造となっています。
攻撃が成立するための前提条件
PSIRT アドバイザリの表現を読み解くと、本脆弱性が悪用されるためには以下の条件が満たされている必要があります。
- FortiGate が CAPWAP daemon を稼働させている
-
すなわち、
wireless-controllerまたはfortiextender機能が有効化されている状態 - 配下デバイス(FortiAP / FortiExtender / FortiSwitch)が認証済み
-
FortiGate に対して CAPWAP トンネルを確立し、authorized 状態となっている。
- 攻撃者がその配下デバイスを制御下に置いている
-
物理的な侵害、サプライチェーン攻撃、または管理アカウントの侵害を通じて、配下デバイスから任意の CAPWAP メッセージを送信できる状態
この前提条件から見えてくる現実的な攻撃シナリオは次のようなものです。
- 物理盗難 / 持ち出し
-
オフィス内・倉庫内・建物外周などに設置された FortiAP / FortiSwitch / FortiExtender が物理的に盗難・持ち出され、攻撃者の手元でファームウェア改造を受けた上で偽装的に再接続される
- 管理経路の侵害
-
FortiSwitch / FortiExtender の管理 IF を経由した管理アカウント侵害により、配下デバイスから不正な CAPWAP メッセージが送信される
- サプライチェーン経由
-
保守ベンダーや調達経路の信頼性が損なわれた状態で、改造されたデバイスがネットワークに組み込まれる
つまり、本脆弱性は「インターネットから直接攻撃される」タイプのものではなく、「配下デバイスの侵害」を起点とする 2 段階攻撃を前提とします。とはいえ、配下デバイスは設置箇所が物理的に分散しており、すべてに同等のセキュリティ管理が及ばないケースもあるため、「FortiGate に集約している以上、配下デバイスのいずれか 1 台でも侵害されれば中心の FortiGate も乗っ取られ得る」というリスクは深刻と評価するのが妥当です。
Fortinet 製品の脆弱性管理運用における近年の動向については、関連記事『FortiSandbox の重大脆弱性(CVSS 9.8)と対策手順|HA 構成での対応』も参考になります。
影響を受ける FortiOS バージョンと修正版
FG-IR-26-123 は、現在広く運用されている FortiOS 7.x の主要 3 系列(7.2 / 7.4 / 7.6)にまたがって影響を及ぼします。修正版は各系列ごとに用意されているため、運用中の系列を維持したままセキュリティ修正を取り込めるよう設計されています。
影響バージョン一覧と修正版
Fortinet PSIRT のアドバイザリでは、影響を受けるバージョンと修正版が以下のように示されています。
参考: Fortinet PSIRT Advisory FG-IR-26-123 – Affected Versions
“FortiOS 7.6: 7.6.0 through 7.6.3 / FortiOS 7.4: 7.4.0 through 7.4.8 / FortiOS 7.2: 7.2.0 through 7.2.11”
(FortiOS 7.6: 7.6.0 から 7.6.3 まで / FortiOS 7.4: 7.4.0 から 7.4.8 まで / FortiOS 7.2: 7.2.0 から 7.2.11 まで)
https://www.fortiguard.com/psirt/FG-IR-26-123
整理すると次の通りです。
| FortiOS 系列 | 影響を受けるバージョン | 修正版 |
|---|---|---|
| FortiOS 7.6 | 7.6.0 ~ 7.6.3 | 7.6.4 以降 |
| FortiOS 7.4 | 7.4.0 ~ 7.4.8 | 7.4.9 以降 |
| FortiOS 7.2 | 7.2.0 ~ 7.2.11 | 7.2.12 以降 |
なお、FortiOS 7.0 系および 6.x 系については PSIRT 本文では言及されていません。7.0 系については Fortinet のサポートライフサイクル上の扱いを公式情報で確認することが推奨されます。
Fortinet Upgrade Tool を使ったアップグレード経路の確認
FortiOS のアップグレードでは、現在のバージョンから直接最新版へジャンプできるとは限らず、中間バージョンを経由する必要があるケースがあります。Fortinet は、これを支援するために Web 上で公式の Upgrade Tool を提供しています。
参考: Fortinet Documentation – Upgrade Path Tool
Product(FortiGate)と From Version / To Version を指定することで、推奨される中間バージョンを含む経路が表示されます。
https://docs.fortinet.com/upgrade-tool
たとえば「FortiOS 7.2.4 → 7.6.4」のような系列をまたぐアップグレードでは、7.2.x の中間バージョンを経由してから 7.4.x、さらに 7.6.4 へ進める経路が示されるケースがあります。経路を飛ばしてアップグレードした場合、構成データの整合性が崩れる、または起動後に一部機能が動作しないなどの事象を引き起こし得るため、ツールの示す経路に沿った段階的な実施が望まれます。Upgrade Tool の使い方や、推奨経路の読み解き方の実例については、関連記事『FortiGate Upgrade Path Tool の使い方|HA 構成での所要時間』も参考になります。
影響対象外と考えられる構成
本脆弱性は CAPWAP daemon(cw_acd)に依存する欠陥であるため、CAPWAP daemon を稼働させていない構成では、攻撃面そのものが存在しないことになります。具体的には次のような構成が該当します。
- FortiGate を純粋なファイアウォール / VPN ゲートウェイとして運用しており、FortiAP / FortiSwitch / FortiExtender を一切接続していない環境
wireless-controllerおよびfortiextender機能をconfig system globalで無効化している環境
ただし、これらの構成であっても修正版へのアップグレードは引き続き推奨されます。FortiOS のアップグレードには、本件以外の累積的なセキュリティ修正・バグ修正・機能改善が含まれているためです。
暫定回避策: wireless-controller の無効化
修正版へのアップグレードまで時間を要する場合、Fortinet は CAPWAP daemon の無効化を暫定回避策として案内しています。ただし、これは FortiAP / FortiSwitch / FortiExtender の集中管理機能を停止させる対処であるため、適用前に運用影響を慎重に評価することが望まれます。
Fortinet PSIRT が案内する CLI コマンドの内容
PSIRT アドバイザリの「Workarounds」セクションでは、以下の設定変更が示されています。
参考: Fortinet PSIRT Advisory FG-IR-26-123 – Workarounds: Disable capwap daemon
“config global / config system global / set wireless-controller disable / end”
https://www.fortiguard.com/psirt/FG-IR-26-123
このコマンドの構造を分解すると次の通りです。
| 段階 | コマンド | 内容 |
|---|---|---|
| 1 | config global | グローバル設定スコープへ移行(マルチ VDOM 構成の場合に必要) |
| 2 | config system global | システム全体の機能可視化(Feature Visibility)設定スコープへ移行 |
| 3 | set wireless-controller disable | Wireless Controller 機能を無効化 |
| 4 | end | 設定を確定 |
wireless-controller は FortiOS の Feature Visibility(機能可視化)フラグとして扱われる設定値です。これを無効化することで、cw_acd プロセスをはじめとする CAPWAP daemon 関連の機能が停止し、攻撃面が排除されます。
適用前に確認すべき運用影響
wireless-controller を無効化すると、FortiGate が管理している無線・スイッチ・LAN 拡張デバイスとの CAPWAP 管理通信が一斉に停止します。具体的には次のような影響が想定されます。
| 影響対象 | 想定される事象 |
|---|---|
| FortiAP(管理 AP 全台) | FortiGate との CAPWAP トンネル切断。SSID 配信・無線クライアント認証停止 |
| FortiSwitch(FortiLink 接続) | FortiGate からの集中管理喪失。ポート設定・VLAN 配信が滞る可能性 |
| FortiExtender | LAN-Extension 機能停止。サテライト拠点の通信影響 |
社内 Wi-Fi が業務クリティカルな環境、FortiLink で FortiSwitch を集中管理している環境、FortiExtender でリモート拠点を収容している環境では、暫定回避策の適用は実質的な業務影響を伴います。これらの環境では、修正版へのアップグレードを優先する判断が現実的なケースも多いと考えられます。
一方で、FortiGate を純粋なファイアウォール / VPN ゲートウェイとして利用しており、FortiAP / FortiSwitch / FortiExtender を運用していない環境では、本暫定回避策は副作用なく適用できる対処となります。
Post-Change Configuration Validation の手順
PSIRT アドバイザリでは、設定変更後の確認方法として以下の出力例が示されています。
参考: Fortinet PSIRT Advisory FG-IR-26-123 – Post-Change Configuration Validation
show full | grep wireless-controller set wireless-controller disable set wireless-controller-port 5246 show full | grep fortiextender set fortiextender disable set fortiextender-data-port 25246 set fortiextender-discovery-lockdown disable set fortiextender-provision-on-authorization disable set fortiextender-vlan-mode disable
各コマンドの確認内容は次の通りです。
| コマンド | 確認内容 |
|---|---|
show full | grep wireless-controller | set wireless-controller disable が反映されているかを確認 |
show full | grep fortiextender | FortiExtender 機能関連の設定状態を一括確認 |
set wireless-controller disable の出力が確認できれば、CAPWAP daemon の機能可視化フラグが無効化されている状態です。あわせて、fortiextender 機能も併せて無効化することで、FortiExtender 経由の攻撃経路も同時に塞ぐことが可能です。
なお、set wireless-controller-port 5246 の表示は、Wireless Controller 機能を無効化した状態でもデフォルトのリスニングポート値が show full で残存表示される FortiOS の仕様によるもので、機能が動作している状態を示すものではありません。
暫定回避策の限界
本暫定回避策は、CAPWAP daemon そのものを動作しない状態にすることで、CWE-787 の悪用経路を遮断する対処です。一方、Fortinet 製品の他の脆弱性、および同じく FortiOS で順次公開されている他の PSIRT 案件には効果がない点に留意が必要です。あくまで「アップグレードまでの時間的猶予を確保する応急処置」と位置付け、並行して恒久対処(修正版へのアップグレード)の計画を進めることが推奨されます。
恒久対処: FortiOS のアップグレード
FG-IR-26-123 の根本的な解消には、修正版 FortiOS(7.6.4 / 7.4.9 / 7.2.12 以降)へのアップグレードが必要です。FortiOS のアップグレードは構成設定や FortiAP / FortiSwitch / FortiExtender 接続にも影響を与え得る作業であるため、事前のバックアップ取得と推奨アップグレード経路の確認を計画的に進めることが重要となります。
アップグレード前のバックアップ取得
FortiOS は、メジャー / マイナーバージョン間で構成データのスキーマ変更が行われるケースがあります。アップグレード後に予期せぬ挙動が生じた場合に切り戻しできるよう、作業前のコンフィグバックアップは必ず取得することが推奨されます。
| 方法 | 操作 |
|---|---|
| GUI から取得 | System > Dashboard 右上のユーザー名メニュー → Configuration > Backup |
| CLI から取得 | execute backup config <destination>(TFTP / FTP / SCP / USB 等) |
FortiGate のバックアップ取得と切り戻し(リストア)の具体的な手順や、世代管理のノウハウについては、関連記事『FortiGate 設定ファイルのバックアップとリストアの手順と HA 構成の注意点』も参考になります。
HA 構成で運用している場合は、プライマリ / セカンダリ両機の構成を別々にバックアップすることが推奨されます。
強制アップグレード時の注意点
運用上の都合や急ぎの脆弱性対応で、推奨経路を外れた強制アップグレードを実施せざるを得ないケースもあります。強制アップグレードは「動作するが、構成データの一部が想定外の状態に変換され得る」リスクを伴います。事前のバックアップ確実な取得、検証環境での試行、切り戻し計画の策定をセットで進めることが望まれます。FortiGate の強制アップグレード時の挙動や、適用後に確認しておきたいポイントについては、関連記事『FortiGate 強制自動アップグレードの仕様と無効化手順』も参考になります。
各 FortiOS バージョンごとのアップグレード経路と注意事項
修正版へ向かう際の一般的な経路パターンを整理します(最終的な推奨経路は Upgrade Tool での確認が前提です)。
| 現行バージョン | 推奨される向かい先 | 経路パターン |
|---|---|---|
| FortiOS 7.2.0 ~ 7.2.11 | 7.2.12 | 7.2 系内のマイナーアップ(最も影響が小さい) |
| FortiOS 7.4.0 ~ 7.4.8 | 7.4.9 | 7.4 系内のマイナーアップ |
| FortiOS 7.6.0 ~ 7.6.3 | 7.6.4 | 7.6 系内のマイナーアップ |
| FortiOS 7.0 系 | (PSIRT 本文で言及なし) | 公式情報での製品ライフサイクル確認の上、上位系列への計画を検討 |
同系列内のマイナーアップは、構成への影響が最も小さく、業務影響も最小限に抑えやすいため、現行系列を維持したまま修正版へ移行する方針が、本件対処では一般的な選択肢となります。
HA 構成・大規模 FortiAP/FortiSwitch 環境での留意点
- HA 構成
-
FGCP の HA Synchronized Upgrade を利用することで、プライマリ / セカンダリの順序付きアップグレードが自動化されます
- 多数の FortiAP / FortiSwitch を管理
-
FortiOS アップグレードに付随して FortiAP / FortiSwitch 側のファームウェアも自動的にプッシュ更新されるケースがあります。事前に自動アップデート設定を確認し、段階的な反映計画を立てることが推奨されます。
- FortiExtender 接続環境
-
FortiExtender 側のファームウェアと FortiOS のバージョン互換性を、Fortinet のリリースノートで事前確認することが望まれます。
アップグレード後の確認とログ調査
修正版へのアップグレードが完了したら、バージョン反映の確認、CAPWAP 配下デバイスの再接続状況、ログ上の異常通信の有無の 3 観点で動作確認を行うことが推奨されます。
修正バージョンの反映確認
GUI から確認する場合
Dashboard > Status ウィジェットの System Information 内、Firmware Version 項目で現在のバージョンが表示されます。
CLI から確認する場合
# get system status出力の Version: 行に FortiGate-XXX v7.6.4,build... といった形式で表示されます。修正版(7.6.4 / 7.4.9 / 7.2.12 以降)と一致していることを確認します。
HA 構成では、get system ha status でプライマリ / セカンダリ双方のバージョンを確認することが推奨されます。
CAPWAP 配下デバイスの再接続状況の確認
FortiAP の接続状況確認
# get wireless-controller wtpまたは
# diagnose wireless-controller wlac -c wtp管理対象 FortiAP の一覧と接続状態(connected / disconnected)が表示されます。
FortiSwitch の接続状況確認
# get switch-controller managed-switchStatus 列で Authorized / Connected の状態を確認します。
FortiExtender の接続状況確認
# get extender statusConnection Status で CWWS_RUN ステータスを確認します。CWWS_RUN は CAPWAP 制御チャネルが正常稼働中の状態を示します。
参考: Fortinet Documentation – CAPWAP Control Channel state machine(FortiExtender 7.6.0)
“This section lists the definitions for the various statuses within the get extender status output (CWWS_RUN).”
https://docs.fortinet.com/document/fortiextender/7.6.0/troubleshooting-guide/18631/capwap-control-channel-state-machine
CAPWAP 関連ログ・通信の監視ポイント
CAPWAP 制御チャネルの通信観測
# diagnose sniff packet <interface_name> "port 5246" 4参考: Fortinet Documentation – FortiAP connection issues
“For a quick assessment of the association communication between the controller and the FortiAP, run the following sniffer command to see if you can verify that the AP is communicating to the controller by identifying the CAPWAP communication.”
https://docs.fortinet.com/document/fortiap/7.4.1/fortiwifi-and-fortiap-configuration-guide/266575/fortiap-connection-issues
ログ調査のポイント
以下の観点でログを確認することで、不審な配下デバイスの挙動や CAPWAP 関連の異常を検知しやすくなります。
- 未知の FortiAP / FortiSwitch / FortiExtender からの discovery 試行
-
管理対象として登録していないデバイスから CAPWAP discovery が来ていないかを確認
cw_acdプロセスのクラッシュログ-
悪用試行に失敗してクラッシュした痕跡が残る可能性があります(
diagnose debug crashlog readで確認可能) - 異常な頻度の CAPWAP 再接続イベント
-
管理 AP / Switch / Extender が短時間に何度も切断・再接続を繰り返している場合、不審な通信の兆候の可能性
- 管理対象デバイスのシリアル番号と物理状態の照合
-
物理盗難・改造による偽装接続の可能性を排除するため、ライセンス管理上のデバイス一覧と現地設置状況の照合を定期的に実施
cw_acd の異常クラッシュや、未知のシリアルによる discovery 試行が観測された場合は、Fortinet サポートへの早期相談と、暫定的に対象インターフェースでの CAPWAP アクセス制限を検討することが推奨されます。
まとめ
FG-IR-26-123 は、FortiOS の CAPWAP daemon(cw_acd)に存在する Out-of-Bounds Write 脆弱性(CVE-2025-53844 / CVSSv3 8.3)で、認証済みの FortiAP / FortiExtender / FortiSwitch を制御下に置いた攻撃者が FortiGate 本体上の実行権限を獲得し得る内容です。本記事の要点を整理します。
- 影響対象は FortiOS 7.2.0 ~ 7.2.11 / 7.4.0 ~ 7.4.8 / 7.6.0 ~ 7.6.3。修正版はそれぞれ 7.2.12 / 7.4.9 / 7.6.4 以降。Fortinet Upgrade Tool で推奨経路を確認した上でアップグレードを計画することが推奨される。
- 攻撃前提は「認証済みの配下デバイスの制御」。インターネットから直接攻撃されるタイプではなく、FortiAP / FortiSwitch / FortiExtender の物理盗難・管理経路侵害・サプライチェーンを起点とする 2 段階攻撃が現実的なシナリオ
- 暫定回避策は
config system globalでのset wireless-controller disable。CAPWAP daemon を停止させ攻撃面を排除できるが、FortiAP / FortiSwitch / FortiExtender の管理機能が一斉停止するため、適用前に運用影響の評価が前提 - 暫定回避策の確認は
show full | grep wireless-controllerでset wireless-controller disableの反映を確認。wireless-controller-port 5246が残存表示されるのは FortiOS の仕様であり、機能停止済みであることを示す。 - アップグレード前にコンフィグバックアップを取得。HA 構成ではプライマリ / セカンダリ双方を取得し、Upgrade Tool で示す推奨経路に沿った段階的な実施が望まれる。
- 適用後は
get system statusでバージョン確認、get wireless-controller wtp/get switch-controller managed-switch/get extender statusで配下デバイスの再接続状況を確認 cw_acdのクラッシュログ(diagnose debug crashlog read)や未知シリアルからの CAPWAP discovery 試行は、悪用試行の痕跡として監視することが有効
以上、最後までお読みいただきありがとうございました。

