
PoC local de escalada de privilegios en Windows para CVE-2026-66804: coloca una DLL COM en una ruta inexistente para abusar de Camera FrameServer y suplantar a SYSTEM.
El problema, descubierto e informado de forma independiente, ahora se rastrea
como CVE-2026-66804. MSRC confirmó el envío como duplicado de un informe
anterior con la misma causa raíz subyacente en Windows Camera FrameServer.
Un usuario estándar de Windows puede crear una ruta de confianza faltante en
C:\ProgramData\CrossDevice, colocar la DLL COM registrada de la cámara virtual
Cross Device y hacer que Windows Camera Frame Server cargue código controlado
por el atacante como NT AUTHORITY\LOCAL SERVICE. La cadena de prueba incluida
usa el SeImpersonatePrivilege habilitado del token del servicio para obtener
NT AUTHORITY\SYSTEM.
Vídeo principal de ruta faltante en VM nueva hasta SYSTEM
| CVE | CVE-2026-66804 |
| Título de Microsoft | Vulnerabilidad de elevación de privilegios en el servicio Cross Device de Microsoft Windows |
| Caso MSRC | 119805 |
| Envío MSRC | VULN-192287 |
| Resolución de MSRC | Complete - Duplicate |
| Reconocimiento de Microsoft | Daniel Wade with nadsec |
| Fecha de publicación | 2026-08-11 |
| Gravedad de Microsoft | Importante |
| CVSS de Microsoft | 7.8 Alta - CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| CWE de Microsoft | CWE-284: Control de acceso inadecuado |
| Clase de error | Plantado de DLL en ruta faltante / secuestro de objetos COM |
| Componente | Cámara virtual Cross Device / Windows Camera FrameServer |
| Clase COM | {E9F83CF2-E0C0-4CA7-AF01-E90C70BEF496} |
| Compilación principal probada | Windows 11 Pro 25H2, compilación 26200.8524 |
| Impacto | Usuario local estándar a NT AUTHORITY\SYSTEM |
Windows registró el servidor COM de la cámara virtual Cross Device en:
%PROGRAMDATA%\CrossDevice\CrossDevice.Streaming.Source.dll
En la VM de Windows 11 nueva/predeterminada usada para la validación, el registro de todo el equipo existía antes que el directorio subyacente. Un usuario estándar creó el directorio faltante, colocó la DLL esperada e invocó la API de la cámara virtual. Camera Frame Server cargó la DLL como LOCAL SERVICE y, después, la cadena de prueba obtuvo un token de SYSTEM y escribió un recibo en una ruta protegida.
Se trata de un problema de ruta faltante o de preinicialización. No es una afirmación de que un usuario estándar pueda sobrescribir una DLL existente y protegida de Microsoft.
El registro relevante de todo el equipo es:
HKLM\SOFTWARE\Classes\CLSID\{E9F83CF2-E0C0-4CA7-AF01-E90C70BEF496}\InProcServer32
(Default) REG_EXPAND_SZ %PROGRAMDATA%\CrossDevice\CrossDevice.Streaming.Source.dll
La cadena demostrada es:
C:\ProgramData\CrossDevice no existe.SeImpersonatePrivilege.NT AUTHORITY\SYSTEM.Ejecute esta prueba de concepto únicamente en una VM de laboratorio vulnerable y desechable que le pertenezca o para la que tenga autorización explícita de pruebas. Haga una instantánea de la VM antes de usarla.
Desde un símbolo del sistema con usuario estándar:
cd /d path\to\fresh-vm-repro
Run-CrossDevicePoC.cmd
El ejecutor valida el registro esperado y se niega a tocar un directorio Cross Device preexistente o un binario auxiliar inesperado. Una ejecución correcta genera recibos de LOCAL SERVICE, de privilegio y de SYSTEM.
Los requisitos previos completos, los resultados esperados, los hashes, los
comandos de compilación y los pasos de limpieza están en
fresh-vm-repro/README.md.
Se conservan ambas grabaciones porque documentan partes complementarias del caso.
La salida de consola capturada de la VM nueva se conserva en
fresh-vm-transcript.txt.
docs/technical-report.mddocs/msrc-fresh-vm-clarification.mddocs/archive/Partes del resolvedor OXID, la suplantación mediante named pipes, la construcción de OBJREF y la lógica de adquisición del token de SYSTEM se adaptaron y tradujeron a C a partir de GodPotato, de BeichenDream y colaboradores.
Consulte THIRD_PARTY_NOTICES.md y
LICENSES/Apache-2.0.txt para conocer los detalles
de atribución y licencia.
fresh-vm-repro/docs/technical-report.mdAviso legal: Este código de exploit se proporciona únicamente para investigación de seguridad autorizada y fines educativos. No lo utilice contra sistemas que no posea o para los que no tenga permiso explícito de pruebas. Ejecútelo solo en una VM de laboratorio desechable. El autor no se hace responsable del uso indebido o de los daños.
CVE-2026-66804 - informado a MSRC como caso 119805 / envío
VULN-192287, con resolución Complete - Duplicate.
Reconocimiento de Microsoft: Daniel Wade with nadsec.
Daniel Wade - GitHub · Twitter/X · Bluesky · Mastodon · Medium · nadsec.online
| Revalidación principal en VM nueva/predeterminada que muestra el plantado por parte de un usuario estándar, la ejecución como LOCAL SERVICE y los recibos de SYSTEM. La grabación revisa el estado anterior de ruta faltante mediante el desplazamiento hacia atrás de la terminal; la transcripción conserva la salida explícita previa a la creación. |
guided-full-chain-standard-user-to-system.mp4 | Tutorial de apoyo del envío original. Muestra la cadena de explotación y suplantación con mayor detalle. La carga útil ya está presente al principio, por lo que esta grabación aporta contexto de la cadena en lugar de una prueba independiente de estado nuevo. |
| Fecha | Evento |
|---|
| 2026-06-01 | Informe inicial enviado a MSRC como VULN-192287; se abrió el caso MSRC 119805 |
| 2026-06-04 | Se proporcionaron la aclaración de ruta faltante/preinicialización y un archivo de reproducción limpia |
| 2026-06-05 | MSRC acusó recibo de la aclaración |
| 2026-07-27 | MSRC confirmó el comportamiento y luego determinó que el envío duplicaba un problema anterior con la misma causa raíz subyacente en Windows Camera FrameServer; se planificó otorgar el crédito y no se concedió ninguna recompensa |
| 2026-08-11 | Microsoft publicó CVE-2026-66804 y lanzó actualizaciones de seguridad |
| 2026-08-13 | Se confirmó el texto del reconocimiento Daniel Wade with nadsec |