
Prueba de concepto en PowerShell que demuestra CVE-2026-85884, una escalada de privilegios de ETW de Lua en whesvc/WinDiag de Windows desde código LPAC de baja privilegio o WPAD hasta SYSTEM.
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-85884
Este repositorio contiene material de investigación y prueba de concepto sobre un problema de límite de privilegios de Windows que involucra el servicio Windows Health and Optimized Experiences (whesvc) y el motor Windows Diagnostics Lua.
El código que se ejecuta con la capacidad de diagnóstico correspondiente puede emitir un evento de flujo de trabajo ETW de confianza que contiene una ruta de módulo Lua controlada por el atacante. El servicio LocalSystem consume ese evento y ejecuta el módulo a través de WinDiag sin autenticar adecuadamente al productor ni restringir el módulo a una ubicación de confianza.
La transición completa demostrada es:
código de baja privilegio o WPAD LPAC
-> evento ETW Microsoft.Windows.Diagnostics.Lua
-> flujo de trabajo whesvc de LocalSystem
-> módulo Lua controlado por el atacante
-> canario de proceso SYSTEM
El problema se reprodujo en las compilaciones exactas de Windows 11 x64 documentadas en los informes incluidos, incluidas las compilaciones 26200.8457 y 29617.1000.
Invoke-WhesvcToSystem.ps1 es la demostración más sencilla para un usuario local. No requiere una DLL, un compilador ni una carga útil externa, y no incorpora ni descarga nada. La devolución de llamada Lua privilegiada ejecuta el comando integrado whoami.exe /user a través de cmd.exe y redirige su salida a un archivo canario.
Desde una sesión estándar de PowerShell sin privilegios de administrador:
powershell.exe -NoProfile -ExecutionPolicy Bypass `
-File .\Invoke-WhesvcToSystem.ps1
Una ejecución exitosa produce una salida de whoami.exe /user que contiene:
nt authority\system S-1-5-18
El canario se escribe en:
%LOCALAPPDATA%\WhesvcL2S\system-canary.txt
El flujo de trabajo tiene un intervalo mínimo de seguimiento, por lo que la demostración normalmente tarda al menos 35 segundos.
Elimine el canario y cualquier módulo Lua temporal coincidente con:
powershell.exe -NoProfile -ExecutionPolicy Bypass `
-File .\Invoke-WhesvcToSystem.ps1 -Cleanup
Este material se proporciona para investigación defensiva, validación de parches y pruebas de seguridad autorizadas. Los usuarios son responsables de cumplir con las leyes aplicables y de evitar interrupciones en los sistemas de producción.