
Эксплойт локального повышения привилегий для CVE-2025-62676.
Эксплойт PoC для локального повышения привилегий для CVE-2025-62676 / EUVD-2025-206993, нацеленный на FortiClient VPN под управлением Windows. Выполняет полезную нагрузку в контексте SYSTEM из контекста обычного пользователя через произвольную запись XML-файла. PoC протестирован на FortiClient версии 7.4.0 на Windows 11 Pro. Согласно поставщику, уязвимы следующие версии:
Уязвимость была сообщена через 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. Чтобы изменить это, измените dllmail.cpp в проекте ExecDLL.CloudExperienceHostBroker.exe был выполнен после последней перезагрузки до запуска PoC. Перезагрузите машину и запустите задачу CreateObjectTask вручную (Start-ScheduledTask -TaskPath \Microsoft\Windows\CloudExperienceHost -TaskName CreateObjectTask). См. Технические подробности для получения дополнительной информации.

FortiClient создает именованный канал FC_{F18F86FD-7503-4564-80CF-B6B199519837}, с которым обычным пользователям разрешено взаимодействовать. Связь ограничена процессами, запущенными из папки программы FortiClient (C:\Program Files\Fortinet\FortiClient), но это можно обойти, внедрив код в запущенный процесс FortiTray.exe, который работает из папки программы. Через этот именованный канал можно запустить экземпляр FCConfig.exe, работающий как SYSTEM, с аргументами, контролируемыми пользователем.
Указав нераспознанную операцию (-o A), FCConfig.exe прочитает целевой файл (-f FILE) и затем запишет его обратно в то же место (неясно, зачем это происходит). Установив цель на junction/symlink, указывающий на конкретный файл, и установив oplock на файл, можно заставить процесс следовать за симлинком, прочитать файл и вызвать oplock. Затем симлинк можно изменить, чтобы он указывал на другое место. Когда oplock будет снят, FCConfig.exe последует за симлинком к новому месту назначения и запишет туда файл, что приведет к произвольной записи файла. Файл должен быть допустимым XML (похоже, он проходит через XML-форматер).
Чтобы превратить произвольную запись XML-файла в выполнение привилегированного кода, записывается манифест приложения для перенаправления загрузки DLL для процесса, работающего как SYSTEM. Для этого был выбран C:\Windows\System32\CloudExperienceHostBroker.exe:
\Microsoft\Windows\CloudExperienceHost\CreateObjectTask.SYSTEM.TrustedInstaller).PoC эксплуатирует уязвимость с помощью следующих шагов:
oleaut32.dll, содержащую полезную нагрузку.oleaut32.dll на "ExecDLL".FortiTray.exe, которая отправляет команду в именованный канал 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 будет выполнен как , укажет системе загрузить "ExecDLL" вместо , и "ExecDLL" будет загружен и выполнен в контексте .PoC не пытается очистить DLL, сброшенные во временную папку. Их можно удалить вручную после этого.
SYSTEMCloudExperienceHostBroker.exe.manifestoleaut32.dllSYSTEM