针对运行在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),然后将其写回同一位置(不确定为什么要这样做)。通过将目标设置为指向特定文件的交接点/符号链接,并在该文件上设置机会锁,可以使进程跟随符号链接、读取文件并触发机会锁。然后可以将符号链接修改为指向不同位置。当机会锁释放时,FCConfig.exe 将跟随符号链接到新目标并将文件写入那里,从而实现任意文件写入。该文件需要是有效的XML(似乎会经过XML格式化程序)。
为了将任意XML文件写入转化为特权代码执行,写入一个应用程序清单,以重定向以SYSTEM身份运行的进程的DLL加载。选择 C:\Windows\System32\CloudExperienceHostBroker.exe 作为目标:
\Microsoft\Windows\CloudExperienceHost\CreateObjectTask 来执行它。SYSTEM身份运行。TrustedInstaller保护)。PoC利用该漏洞的步骤如下:
oleaut32.dll的名称丢弃到磁盘。oleaut32.dll重定向到"ExecDLL"。FortiTray.exe 注入一个DLL,该DLL向 FC_{F18F86FD-7503-4564-80CF-B6B199519837} 命名管道发送带有参数 -f APPLICATION_MANIFEST_PATH -o A 的命令。FCConfig.exe 触发机会锁。C:\Windows\System32\CloudExperienceHostBroker.exe.manifest。FCConfig.exe 现在将读取应用程序清单并将其写入新的符号链接目标。\Microsoft\Windows\CloudExperienceHost\CreateObjectTask 任务。CloudExperienceHostBroker.exe 现在将以SYSTEM身份执行,CloudExperienceHostBroker.exe.manifest 将告诉系统加载"ExecDLL"而不是,然后"ExecDLL"将在上下文中被加载并执行。oleaut32.dllSYSTEM