
Exploit d'élévation de privilèges local pour CVE-2025-62676.
Exploit PoC d'escalade de privilèges locaux pour CVE-2025-62676 / EUVD-2025-206993 qui cible FortiClient VPN sur Windows. Exécute une charge utile dans le contexte de SYSTEM depuis un contexte utilisateur normal via une écriture arbitraire de fichier XML. Le PoC a été testé contre FortiClient version 7.4.0 sur Windows 11 Pro. Les versions suivantes sont vulnérables selon le fournisseur :
La vulnérabilité a été signalée via Trend Micro Zero Day Initiative : https://www.zerodayinitiative.com/advisories/ZDI-26-115/
Avis officiel de Fortinet : https://fortiguard.fortinet.com/psirt/FG-IR-25-661
nuget restore.git clone --recursive.cmd /c whoami > C:\whoami.txt. Pour la modifier, modifiez dllmail.cpp dans le projet ExecDLL.FortiLPE.exe.CloudExperienceHostBroker.exe a été exécuté depuis le dernier redémarrage avant d'exécuter le PoC. Redémarrez la machine et démarrez la tâche CreateObjectTask manuellement (Start-ScheduledTask -TaskPath \Microsoft\Windows\CloudExperienceHost -TaskName CreateObjectTask). Voir Détails techniques pour plus de détails.

FortiClient crée un pipe nommé FC_{F18F86FD-7503-4564-80CF-B6B199519837} avec lequel les utilisateurs normaux sont autorisés à communiquer. La communication est restreinte aux processus s'exécutant depuis le dossier du programme FortiClient (C:\Program Files\Fortinet\FortiClient), mais cela peut être contourné en injectant du code dans le processus FortiTray.exe en cours d'exécution, qui s'exécute depuis le dossier du programme. Via ce pipe nommé, il est possible de lancer une instance de FCConfig.exe s'exécutant en tant que SYSTEM avec des arguments contrôlés par l'utilisateur.
En spécifiant une opération non reconnue (-o A), FCConfig.exe lira un fichier cible (-f FILE) puis l'écrira au même endroit (raison non claire). En définissant la cible comme une jonction/lien symbolique pointant vers un fichier spécifique et en définissant un oplock sur le fichier, il est possible de faire en sorte que le processus suive le lien symbolique, lise le fichier et déclenche l'oplock. Le lien symbolique peut ensuite être modifié pour pointer vers un emplacement différent. Lorsque l'oplock est libéré, FCConfig.exe suivra le lien symbolique vers la nouvelle destination et écrira le fichier à cet endroit, résultant en une écriture arbitraire de fichier. Le fichier doit être un XML valide (il semble passer par un formateur XML).
Pour transformer l'écriture arbitraire de fichier XML en exécution de code privilégié, un manifeste d'application est écrit pour rediriger le chargement d'une DLL pour un processus s'exécutant en tant que SYSTEM. C:\Windows\System32\CloudExperienceHostBroker.exe a été choisi pour cela :
\Microsoft\Windows\CloudExperienceHost\CreateObjectTask.SYSTEM.TrustedInstaller).Le PoC exploite la vulnérabilité en utilisant les étapes suivantes :
oleaut32.dll qui contient une charge utile.oleaut32.dll vers "ExecDLL".FortiTray.exe qui envoie une commande au pipe nommé FC_{F18F86FD-7503-4564-80CF-B6B199519837} avec les arguments -f APPLICATION_MANIFEST_PATH -o A.FCConfig.exe déclenche l'oplock.C:\Windows\System32\CloudExperienceHostBroker.exe.manifest.FCConfig.exe lira maintenant le manifeste d'application et l'écrira vers la nouvelle cible du lien symbolique.\Microsoft\Windows\CloudExperienceHost\CreateObjectTask. CloudExperienceHostBroker.exe sera maintenant exécuté en tant que , indiquera au système de charger "ExecDLL" au lieu de , et "ExecDLL" sera chargée et exécutée dans le contexte de .SYSTEMCloudExperienceHostBroker.exe.manifestoleaut32.dllSYSTEM