
ローカル権限昇格エクスプロイト for CVE-2025-62676.
Windows上で動作するFortiClient VPNを対象としたCVE-2025-62676 / EUVD-2025-206993のローカル特権昇格PoCエクスプロイトです。任意のXMLファイル書き込みを介して、通常ユーザーコンテキストからSYSTEMコンテキストでペイロードを実行します。このPoCはWindows 11 Pro上のFortiClientバージョン7.4.0でテスト済みです。ベンダーによると、以下のバージョンが脆弱です:
本脆弱性はTrend Micro Zero Day Initiativeを通じて報告されました:https://www.zerodayinitiative.com/advisories/ZDI-26-115/
Fortinetからの公式アドバイザリ:https://fortiguard.fortinet.com/psirt/FG-IR-25-661
nuget restoreを実行してください。git clone --recursiveでリポジトリをクローンします。cmd /c whoami > C:\whoami.txtを実行します。これを変更するには、ExecDLLプロジェクト内のdllmail.cppを修正してください。FortiLPE.exeを実行します。CloudExperienceHostBroker.exeが実行されたことが原因である可能性があります。マシンを再起動し、CreateObjectTaskタスクを手動で開始してください(Start-ScheduledTask -TaskPath \Microsoft\Windows\CloudExperienceHost -TaskName CreateObjectTask)。詳細は技術的詳細を参照してください。

FortiClientは、通常ユーザーが通信を許可されている名前付きパイプFC_{F18F86FD-7503-4564-80CF-B6B199519837}を作成します。通信はFortiClientプログラムフォルダー(C:\Program Files\Fortinet\FortiClient)から実行されているプロセスに制限されていますが、プログラムフォルダーから実行されているFortiTray.exeプロセスにコードを注入することでバイパスできます。この名前付きパイプを介して、ユーザー制御の引数でSYSTEMとして実行されるFCConfig.exeのインスタンスを起動することが可能です。
認識されない操作(-o A)を指定することにより、FCConfig.exeは対象ファイル(-f FILE)を読み取り、同じ場所に書き戻します(なぜこれが起こるのかは不明)。ターゲットを特定のファイルを指すジャンクション/シンボリックリンクに設定し、そのファイルにOplockを設定することで、プロセスにシンボリックリンクをたどらせ、ファイルを読み取り、Oplockをトリガーさせることができます。その後、シンボリックリンクを別の場所を指すように変更できます。Oplockが解放されると、FCConfig.exeはシンボリックリンクを新しい宛先にたどり、そこにファイルを書き込むため、任意のファイル書き込みが発生します。ファイルは有効なXMLである必要があります(XMLフォーマッターを通過するようです)。
任意のXMLファイル書き込みを特権コード実行に変換するために、SYSTEMとして実行されるプロセスのDLLロードをリダイレクトするアプリケーションマニフェストが書き込まれます。このためにC:\Windows\System32\CloudExperienceHostBroker.exeが選択されました:
\Microsoft\Windows\CloudExperienceHost\CreateObjectTaskを開始することで実行できます。SYSTEMとして実行されます。TrustedInstallerによって保護されている)をまだ持っていません。PoCは以下の手順で脆弱性を悪用します:
oleaut32.dll用のプロキシDLL("ExecDLL")をディスクにドロップします。oleaut32.dllを"ExecDLL"にリダイレクトするアプリケーションマニフェストをディスクに書き込みます。FortiTray.exeにDLLを注入し、FC_{F18F86FD-7503-4564-80CF-B6B199519837}名前付きパイプに引数-f APPLICATION_MANIFEST_PATH -o Aでコマンドを送信します。FCConfig.exeがOplockをトリガーするのを待ちます。C:\Windows\System32\CloudExperienceHostBroker.exe.manifestを指すように変更します。FCConfig.exeはアプリケーションマニフェストを読み取り、新しいシンボリックリンクターゲットに書き込みます。\Microsoft\Windows\CloudExperienceHost\CreateObjectTaskタスクを開始します。CloudExperienceHostBroker.exeがSYSTEMとして実行され、CloudExperienceHostBroker.exe.manifestがシステムにの代わりに"ExecDLL"をロードするよう指示し、"ExecDLL"がコンテキストでロードされて実行されます。oleaut32.dllSYSTEM