
Lokaler Privilegienausweitungs-Exploit für CVE-2025-62676.
Lokaler Privilege-Escalation-PoC-Exploit für CVE-2025-62676 / EUVD-2025-206993, der auf FortiClient VPN unter Windows abzielt. Führt eine Nutzlast im Kontext von SYSTEM aus einem normalen Benutzerkontext über einen beliebigen XML-Datei-Schreibvorgang aus. Der PoC wurde gegen FortiClient Version 7.4.0 unter Windows 11 Pro getestet. Laut Hersteller sind folgende Versionen verwundbar:
Die Schwachstelle wurde über die Trend Micro Zero Day Initiative gemeldet: https://www.zerodayinitiative.com/advisories/ZDI-26-115/
Offizielles Advisory von Fortinet: https://fortiguard.fortinet.com/psirt/FG-IR-25-661
nuget restore aus.git clone --recursive.cmd /c whoami > C:\whoami.txt aus. Um dies zu ändern, bearbeiten Sie dllmail.cpp im Projekt ExecDLL.CloudExperienceHostBroker.exe seit dem letzten Neustart vor dem Ausführen des PoC ausgeführt wurde. Starten Sie den Rechner neu und starten Sie die Aufgabe CreateObjectTask manuell (Start-ScheduledTask -TaskPath \Microsoft\Windows\CloudExperienceHost -TaskName CreateObjectTask). Weitere Einzelheiten finden Sie unter Technische Details.

FortiClient erstellt eine Named Pipe FC_{F18F86FD-7503-4564-80CF-B6B199519837}, mit der normale Benutzer kommunizieren dürfen. Die Kommunikation ist auf Prozesse beschränkt, die aus dem FortiClient-Programmordner (C:\Program Files\Fortinet\FortiClient) ausgeführt werden, aber dies kann umgangen werden, indem Code in den laufenden FortiTray.exe-Prozess injiziert wird, der aus dem Programmordner läuft. Über diese Named Pipe ist es möglich, eine Instanz von FCConfig.exe mit vom Benutzer kontrollierten Argumenten im Kontext von SYSTEM zu starten.
Durch Angabe eines nicht erkannten Vorgangs (-o A) liest FCConfig.exe eine Zieldatei (-f DATEI) und schreibt sie dann wieder an denselben Speicherort (nicht sicher, warum dies passiert). Indem das Ziel auf einen Junction/Symlink gesetzt wird, der auf eine bestimmte Datei verweist, und ein Oplock auf die Datei gesetzt wird, kann der Prozess dazu gebracht werden, dem Symlink zu folgen, die Datei zu lesen und den Oplock auszulösen. Der Symlink kann dann geändert werden, um auf einen anderen Speicherort zu verweisen. Wenn der Oplock freigegeben wird, folgt FCConfig.exe dem Symlink zum neuen Ziel und schreibt die Datei dort hin, was zu einem beliebigen Dateischreibvorgang führt. Die Datei muss gültiges XML sein (sie scheint durch einen XML-Formatierer zu gehen).
Um den beliebigen XML-Dateischreibvorgang in eine privilegierte Codeausführung umzuwandeln, wird ein Anwendungsmanifest geschrieben, um einen DLL-Ladevorgang für einen als SYSTEM laufenden Prozess umzuleiten. C:\Windows\System32\CloudExperienceHostBroker.exe wurde dafür ausgewählt:
\Microsoft\Windows\CloudExperienceHost\CreateObjectTask ausgeführt werden.SYSTEM.TrustedInstaller geschützt wäre).Der PoC nutzt die Schwachstelle mit den folgenden Schritten aus:
oleaut32.dll, die eine Nutzlast enthält, auf die Festplatte ablegen.oleaut32.dll auf "ExecDLL" umleitet.FortiTray.exe injizieren, die einen Befehl an die Named Pipe FC_{F18F86FD-7503-4564-80CF-B6B199519837} mit den Argumenten -f APPLICATION_MANIFEST_PATH -o A sendet.FCConfig.exe den Oplock auslöst.C:\Windows\System32\CloudExperienceHostBroker.exe.manifest zeigt.FCConfig.exe liest nun das Anwendungsmanifest und schreibt es an das neue Symlinkziel.\Microsoft\Windows\CloudExperienceHost\CreateObjectTask. CloudExperienceHostBroker.exe wird nun als ausgeführt, weist das System an, "ExecDLL" anstelle von zu laden, und "ExecDLL" wird im Kontext von geladen und ausgeführt.Der PoC versucht nicht, die in den Temp-Ordner abgelegten DLLs zu bereinigen. Diese können danach manuell gelöscht werden.
SYSTEMCloudExperienceHostBroker.exe.manifestoleaut32.dllSYSTEM