
CVE-2026-66804 EoP de cámara virtual de Windows Cross Device - De usuario estándar a SYSTEM
Descubrí y reporté de forma independiente el problema que ahora se sigue como CVE-2026-66804. MSRC confirmó que mi envío era un duplicado de un informe anterior con la misma causa raíz subyacente de 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 de Cross Device y hacer que Windows Camera Frame Server cargue código controlado por el atacante como NT AUTHORITY\LOCAL SERVICE. La cadena de demostración incluida utiliza el SeImpersonatePrivilege habilitado del token del servicio para obtener NT AUTHORITY\SYSTEM.
Vídeo principal de ruta faltante en VM nueva a SYSTEM
| CVE | CVE-2026-66804 |
| Título de Microsoft | Vulnerabilidad de elevación de privilegios del servicio Cross Device de Microsoft Windows |
| Caso MSRC | 119805 |
| Envío a MSRC | VULN-192287 |
| Disposición de MSRC | Complete - Duplicate |
| Reconocimiento de Microsoft | Daniel Wade with nadsec |
| Fecha de publicación | 2026-08-11 |
| Severidad 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 bug | Plantado de DLL en ruta faltante / secuestro de objetos COM |
| Componente | Cámara virtual de 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 estándar local a NT AUTHORITY\SYSTEM |
Windows registró el servidor COM de la cámara virtual de Cross Device en:
%PROGRAMDATA%\CrossDevice\CrossDevice.Streaming.Source.dll
En la VM de Windows 11 nueva/predeterminada utilizada para la validación, el registro a nivel de máquina 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, tras lo cual la cadena de demostración obtuvo un token de SYSTEM y escribió un recibo de ruta protegida.
Este es un problema de ruta faltante o de preinicialización. No es una afirmación de que un usuario estándar pueda sobrescribir una DLL de Microsoft existente y protegida.
El registro relevante a nivel de máquina 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 sea de su propiedad o para la que tenga autorización explícita de pruebas. Tome una instantánea de la VM antes de usarla.
Desde un símbolo del sistema de 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 exitosa produce recibos de LOCAL SERVICE, privilegio y SYSTEM.
Los requisitos previos completos, los resultados esperados, los hashes, los comandos de compilación y los pasos de limpieza se encuentran en fresh-vm-repro/README.md.
Ambos videos se conservan 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 obtención de token SYSTEM fueron adaptadas y traducidas a C a partir de GodPotato por BeichenDream y contribuyentes.
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.mdDescargo de responsabilidad: Este código de exploit se proporciona únicamente para investigación de seguridad autorizada y fines educativos. No lo utilice contra sistemas que no sean de su propiedad o para los que no tenga permiso explícito de pruebas. Ejecútelo solo en una VM de laboratorio desechable. El autor no es responsable del uso indebido o de los daños.
CVE-2026-66804 - reportado a MSRC como caso 119805 / envío VULN-192287, con disposición Complete - Duplicate.
Reconocimiento de Microsoft: Daniel Wade with nadsec.
Daniel Wade - GitHub · Twitter/X · Bluesky · Mastodon · Medium · nadsec.online
fresh-vm-missing-path-to-system.mp4| Revalidación principal en VM nueva/predeterminada que muestra la colocación por parte de un usuario estándar, la ejecución como LOCAL SERVICE y los recibos de SYSTEM. La grabación repasa el estado anterior de ruta faltante mediante el desplazamiento de la terminal; la transcripción conserva la salida explícita previa a la creación. |
guided-full-chain-standard-user-to-system.mp4 | Recorrido de apoyo del envío original. Muestra la cadena de explotación y suplantación con mayor detalle. El payload ya está presente al principio, por lo que esta grabación proporciona 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 119805 de MSRC |
| 2026-06-04 | Se proporcionaron la aclaración de ruta faltante/preinicialización y el archivo de reproducción limpia |
| 2026-06-05 | MSRC reconoció 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 de Windows Camera FrameServer; se planificó el reconocimiento y no se otorgó recompensa |
| 2026-08-11 | Microsoft publicó CVE-2026-66804 y lanzó actualizaciones de seguridad |
| 2026-08-13 | Se confirmó la redacción del reconocimiento Daniel Wade with nadsec |