
CVE-2026-66804 Windows Cross Device caméra virtuelle EoP - Utilisateur standard à SYSTEM
J'ai découvert et signalé indépendamment le problème désormais suivi sous la référence CVE-2026-66804. Le MSRC a confirmé que ma soumission était un doublon d'un rapport antérieur présentant la même cause racine sous-jacente liée à Windows Camera FrameServer.
Un utilisateur Windows standard peut créer un chemin approuvé manquant sous C:\ProgramData\CrossDevice, y déposer la DLL COM enregistrée de la caméra virtuelle Cross Device et amener Windows Camera Frame Server à charger du code contrôlé par l'attaquant en tant que NT AUTHORITY\LOCAL SERVICE. La chaîne de preuve fournie utilise le privilège SeImpersonatePrivilege activé du jeton du service pour obtenir NT AUTHORITY\SYSTEM.
Vidéo primaire : chemin manquant sur VM neuve vers SYSTEM
| CVE | CVE-2026-66804 |
| Titre Microsoft | Vulnérabilité d'élévation de privilèges du service Microsoft Windows Cross Device |
| Cas MSRC | 119805 |
| Soumission MSRC | VULN-192287 |
| Disposition MSRC | Complete - Duplicate |
| Remerciement Microsoft | Daniel Wade with nadsec |
| Date de publication | 2026-08-11 |
| Sévérité Microsoft | Important |
| CVSS Microsoft | 7.8 High - CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| CWE Microsoft | CWE-284 : Contrôle d'accès inapproprié |
| Classe de bogue | Dépôt de DLL via chemin manquant / détournement d'objet COM |
| Composant | Cross Device Virtual Camera / Windows Camera FrameServer |
| Classe COM | {E9F83CF2-E0C0-4CA7-AF01-E90C70BEF496} |
| Build principal testé | Windows 11 Pro 25H2 build 26200.8524 |
| Impact | Utilisateur standard local jusqu'à NT AUTHORITY\SYSTEM |
Windows a enregistré le serveur COM de la caméra virtuelle Cross Device à l'emplacement :
%PROGRAMDATA%\CrossDevice\CrossDevice.Streaming.Source.dll
Sur la VM Windows 11 neuve/par défaut utilisée pour la validation, l'enregistrement à l'échelle de la machine existait avant que le répertoire sous-jacent ne soit créé. Un utilisateur standard a créé le répertoire manquant, déposé la DLL attendue et invoqué l'API de la caméra virtuelle. Camera Frame Server a chargé la DLL en tant que LOCAL SERVICE, après quoi la chaîne de preuve a obtenu un jeton SYSTEM et écrit un reçu dans un chemin protégé.
Il s'agit d'un problème de chemin manquant ou de pré-initialisation. Il ne s'agit pas d'affirmer qu'un utilisateur standard peut écraser une DLL Microsoft existante et protégée.
L'enregistrement à l'échelle de la machine concerné est :
HKLM\SOFTWARE\Classes\CLSID\{E9F83CF2-E0C0-4CA7-AF01-E90C70BEF496}\InProcServer32
(Default) REG_EXPAND_SZ %PROGRAMDATA%\CrossDevice\CrossDevice.Streaming.Source.dll
La chaîne démontrée est la suivante :
C:\ProgramData\CrossDevice est absent.SeImpersonatePrivilege.NT AUTHORITY\SYSTEM.Exécutez cette preuve de concept uniquement dans une VM de laboratoire vulnérable jetable que vous possédez ou sur laquelle vous êtes explicitement autorisé à tester. Prenez un instantané de la VM avant utilisation.
Depuis une invite de commandes d'utilisateur standard :
cd /d path\to\fresh-vm-repro
Run-CrossDevicePoC.cmd
Le lanceur valide l'enregistrement attendu et refuse de toucher à un répertoire Cross Device préexistant ou à un binaire auxiliaire inattendu. Une exécution réussie produit des reçus LOCAL SERVICE, de privilège et SYSTEM.
Les prérequis complets, les résultats attendus, les empreintes, les commandes de compilation et les étapes de nettoyage figurent dans fresh-vm-repro/README.md.
Les deux enregistrements sont conservés car ils documentent des aspects complémentaires du dossier.
La sortie console capturée de la VM neuve est conservée dans
fresh-vm-transcript.txt.
docs/technical-report.mddocs/msrc-fresh-vm-clarification.mddocs/archive/Des parties de la logique de résolution OXID, d'usurpation d'identité par named pipe, de construction OBJREF et d'acquisition du jeton SYSTEM ont été adaptées et traduites en C à partir de GodPotato par BeichenDream et les contributeurs.
Voir THIRD_PARTY_NOTICES.md et
LICENSES/Apache-2.0.txt pour l'attribution et les détails de licence.
fresh-vm-repro/docs/technical-report.mdAvertissement : Ce code d'exploitation est fourni uniquement à des fins de recherche en sécurité autorisée et à des fins pédagogiques. Ne l'utilisez pas contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas l'autorisation explicite de tester. Exécutez-le uniquement dans une VM de laboratoire jetable. L'auteur n'est pas responsable d'une utilisation abusive ou de dommages.
CVE-2026-66804 - signalé au MSRC sous le cas 119805 / soumission
VULN-192287, avec la disposition Complete - Duplicate.
Remerciement Microsoft : Daniel Wade with nadsec.
Daniel Wade - GitHub · Twitter/X · Bluesky · Mastodon · Medium · nadsec.online
fresh-vm-missing-path-to-system.mp4| Revalidation primaire sur VM neuve/par défaut montrant le dépôt par un utilisateur standard, l'exécution en LOCAL SERVICE et les reçus SYSTEM. L'enregistrement revient sur l'état antérieur de chemin manquant via le défilement du terminal ; la transcription préserve la sortie explicite antérieure à la création. |
guided-full-chain-standard-user-to-system.mp4 | Présentation pas à pas d'accompagnement issue de la soumission originale. Montre la chaîne d'exploitation et d'usurpation d'identité plus en détail. La charge utile est déjà présente au début, cet enregistrement fournit donc un contexte sur la chaîne plutôt qu'une preuve indépendante d'un état neuf. |
| Date | Événement |
|---|
| 2026-06-01 | Rapport initial soumis au MSRC sous la référence VULN-192287 ; cas MSRC 119805 ouvert |
| 2026-06-04 | Clarification sur le chemin manquant/pré-initialisation et archive de reproduction propre fournies |
| 2026-06-05 | Le MSRC a accusé réception de la clarification |
| 2026-07-27 | Le MSRC a confirmé le comportement, puis a déterminé que la soumission dupliquait un problème antérieur avec la même cause racine sous-jacente liée à Windows Camera FrameServer ; un crédit était prévu et aucune prime n'a été attribuée |
| 2026-08-11 | Microsoft a publié CVE-2026-66804 et déployé les mises à jour de sécurité |
| 2026-08-13 | La formulation du remerciement Daniel Wade with nadsec a été confirmée |