
PoC local de escalada de privilégios no Windows para CVE-2026-66804: implanta uma DLL COM em um caminho inexistente para abusar do Camera FrameServer e personificar o SYSTEM.
O problema, agora rastreado como CVE-2026-66804, foi descoberto e relatado de forma independente. A MSRC confirmou o envio como uma duplicata de um relatório anterior com a mesma causa raiz subjacente do Windows Camera FrameServer.
Um usuário padrão do Windows pode criar um caminho confiável ausente em C:\ProgramData\CrossDevice, plantar a DLL COM registrada da câmera virtual Cross Device e fazer o Windows Camera Frame Server carregar código controlado pelo invasor como NT AUTHORITY\LOCAL SERVICE. A cadeia de prova incluída usa o SeImpersonatePrivilege habilitado no token do serviço para obter NT AUTHORITY\SYSTEM.
Vídeo principal de caminho ausente para SYSTEM em VM nova
| CVE | CVE-2026-66804 |
| Título da Microsoft | Vulnerabilidade de Elevação de Privilégio do Microsoft Windows Cross Device Service |
| Caso MSRC | 119805 |
| Envio à MSRC | VULN-192287 |
| Desfecho MSRC | Complete - Duplicate |
| Reconhecimento da Microsoft | Daniel Wade with nadsec |
| Data de lançamento | 2026-08-11 |
| Gravidade da Microsoft | Importante |
| CVSS da Microsoft | 7.8 Alta - CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| CWE da Microsoft | CWE-284: Controle de Acesso Impróprio |
| Classe de bug | Plantio de DLL em caminho ausente / sequestro de objeto COM |
| Componente | Cross Device Virtual Camera / Windows Camera FrameServer |
| Classe COM | {E9F83CF2-E0C0-4CA7-AF01-E90C70BEF496} |
| Build principal testada | Windows 11 Pro 25H2 build 26200.8524 |
| Impacto | De usuário padrão local para NT AUTHORITY\SYSTEM |
O Windows registrou o servidor COM da câmera virtual Cross Device em:
%PROGRAMDATA%\CrossDevice\CrossDevice.Streaming.Source.dll
Na VM Windows 11 nova/padrão usada para validação, o registro em toda a máquina existia antes do diretório correspondente. Um usuário padrão criou o diretório ausente, plantou a DLL esperada e invocou a API da câmera virtual. O Camera Frame Server carregou a DLL como LOCAL SERVICE, após o que a cadeia de prova obteve um token SYSTEM e gravou um comprovante em caminho protegido.
Este é um problema de caminho ausente ou pré-inicialização. Não é uma afirmação de que um usuário padrão pode sobrescrever uma DLL Microsoft existente e protegida.
O registro relevante em toda a máquina é:
HKLM\SOFTWARE\Classes\CLSID\{E9F83CF2-E0C0-4CA7-AF01-E90C70BEF496}\InProcServer32
(Default) REG_EXPAND_SZ %PROGRAMDATA%\CrossDevice\CrossDevice.Streaming.Source.dll
A cadeia demonstrada é:
C:\ProgramData\CrossDevice está ausente.SeImpersonatePrivilege.NT AUTHORITY\SYSTEM.Execute esta prova de conceito apenas em uma VM de laboratório descartável e vulnerável que seja sua ou para a qual você tenha autorização explícita de teste. Tire um snapshot da VM antes do uso.
Em um prompt de comando de usuário padrão:
cd /d path\to\fresh-vm-repro
Run-CrossDevicePoC.cmd
O executor valida o registro esperado e se recusa a tocar em um diretório Cross Device preexistente ou em um binário auxiliar inesperado. A execução bem-sucedida produz comprovantes de LOCAL SERVICE, privilégio e SYSTEM.
Pré-requisitos completos, resultados esperados, hashes, comandos de build e etapas de limpeza estão em fresh-vm-repro/README.md.
Ambas as gravações foram mantidas porque documentam partes complementares do caso.
| Vídeo | Função |
|---|---|
fresh-vm-missing-path-to-system.mp4 | Revalidação primária em VM nova/padrão mostrando o plantio por usuário padrão, execução como LOCAL SERVICE e comprovantes SYSTEM. A gravação revisa o estado anterior de caminho ausente por meio do scrollback do terminal; a transcrição preserva a saída explícita de pré-criação. |
A saída de console capturada da VM nova está preservada em fresh-vm-transcript.txt.
docs/technical-report.mddocs/msrc-fresh-vm-clarification.mddocs/archive/Partes do resolvedor OXID, da impersonação por named pipe, da construção de OBJREF e da lógica de aquisição de token SYSTEM foram adaptadas e traduzidas para C a partir do GodPotato, de BeichenDream e colaboradores.
Consulte THIRD_PARTY_NOTICES.md e LICENSES/Apache-2.0.txt para detalhes de atribuição e licença.
fresh-vm-repro/docs/technical-report.mdAviso legal: Este código de exploração é fornecido apenas para pesquisa de segurança autorizada e fins educacionais. Não o use contra sistemas que você não possui ou para os quais não tenha permissão explícita de teste. Execute-o apenas em uma VM de laboratório descartável. O autor não é responsável por uso indevido ou danos.
CVE-2026-66804 - relatado à MSRC como caso 119805 / envio
VULN-192287, com desfecho Complete - Duplicate.
Reconhecimento da Microsoft: Daniel Wade with nadsec.
Daniel Wade - GitHub · Twitter/X · Bluesky · Mastodon · Medium · nadsec.online
guided-full-chain-standard-user-to-system.mp4 | Passo a passo de apoio do envio original. Mostra a cadeia de exploração e impersonação em maior detalhe. O payload já está presente no início, portanto esta gravação fornece contexto da cadeia em vez de prova independente de estado novo. |
| Data | Evento |
|---|
| 2026-06-01 | Relatório inicial enviado à MSRC como VULN-192287; caso MSRC 119805 aberto |
| 2026-06-04 | Esclarecimento de caminho ausente/pré-inicialização e arquivo de reprodução limpo fornecidos |
| 2026-06-05 | A MSRC reconheceu o esclarecimento |
| 2026-07-27 | A MSRC confirmou o comportamento e então determinou que o envio duplicava um problema anterior com a mesma causa raiz subjacente do Windows Camera FrameServer; o crédito foi planejado e nenhum bounty foi concedido |
| 2026-08-11 | A Microsoft publicou CVE-2026-66804 e lançou atualizações de segurança |
| 2026-08-13 | A redação do reconhecimento Daniel Wade with nadsec foi confirmada |