
PowerShell-Proof-of-Concept zur Demonstration von CVE-2026-85884, einer Windows-whesvc/WinDiag-Lua-ETW-Rechteausweitung von niedrig privilegiertem oder WPAD-LPAC-Code zu SYSTEM.
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-85884
Dieses Repository enthält Forschungs- und Proof-of-Concept-Material zu einem Problem mit Windows-Rechtegrenzen, das den Dienst „Windows Health and Optimized Experiences“ (whesvc) und die Windows Diagnostics Lua Engine betrifft.
Code, der mit der entsprechenden Diagnosefunktion ausgeführt wird, kann ein vertrauenswürdiges ETW-Workflow-Ereignis ausgeben, das einen vom Angreifer kontrollierten Lua-Modulpfad enthält. Der LocalSystem-Dienst verarbeitet dieses Ereignis und führt das Modul über WinDiag aus, ohne den Ersteller ausreichend zu authentifizieren oder das Modul auf einen vertrauenswürdigen Speicherort zu beschränken.
Der vollständig demonstrierte Übergang lautet:
Code mit geringen Rechten oder WPAD LPAC
-> Microsoft.Windows.Diagnostics.Lua ETW-Ereignis
-> LocalSystem whesvc-Workflow
-> vom Angreifer kontrolliertes Lua-Modul
-> SYSTEM-Prozess-Canary
Das Problem wurde auf den exakten Windows 11 x64-Builds reproduziert, die in den beigefügten Berichten dokumentiert sind, darunter die Builds 26200.8457 und 29617.1000.
Invoke-WhesvcToSystem.ps1 ist die einfachste Demonstration für einen lokalen Benutzer. Sie erfordert keine DLL, keinen Compiler und keine externe Nutzlast und bettet nichts ein und lädt nichts herunter. Der privilegierte Lua-Callback führt den mitgelieferten Befehl whoami.exe /user über cmd.exe aus und leitet dessen Ausgabe in eine Canary-Datei um.
Aus einer standardmäßigen PowerShell-Sitzung ohne Administratorrechte:
powershell.exe -NoProfile -ExecutionPolicy Bypass `
-File .\Invoke-WhesvcToSystem.ps1
Ein erfolgreicher Lauf erzeugt eine Ausgabe von whoami.exe /user, die Folgendes enthält:
nt authority\system S-1-5-18
Die Canary-Datei wird geschrieben nach:
%LOCALAPPDATA%\WhesvcL2S\system-canary.txt
Der Workflow hat ein minimales Tracing-Intervall, daher dauert die Demonstration normalerweise mindestens 35 Sekunden.
Entfernen Sie die Canary-Datei und alle passenden temporären Lua-Module mit:
powershell.exe -NoProfile -ExecutionPolicy Bypass `
-File .\Invoke-WhesvcToSystem.ps1 -Cleanup
Dieses Material wird für defensive Forschung, Patch-Validierung und autorisierte Sicherheitstests bereitgestellt. Benutzer sind dafür verantwortlich, geltende Gesetze einzuhalten und Störungen von Produktionssystemen zu vermeiden.