我独立发现并报告了现被跟踪为 CVE-2026-66804 的问题。MSRC 确认我的提交与早先一份具有相同 Windows Camera FrameServer 根本原因的报告重复。
标准 Windows 用户可以创建 C:\ProgramData\CrossDevice 下缺失的受信任路径,植入已注册的 Cross Device 虚拟摄像头 COM DLL,并导致 Windows Camera Frame Server 以 NT AUTHORITY\LOCAL SERVICE 身份加载攻击者控制的代码。附带的证明链利用服务令牌已启用的 SeImpersonatePrivilege 获取 NT AUTHORITY\SYSTEM。
| CVE | CVE-2026-66804 |
| Microsoft 标题 | Microsoft Windows Cross Device 服务特权提升漏洞 |
| MSRC 案件编号 | 119805 |
| MSRC 提交编号 | VULN-192287 |
| MSRC 处置结果 | Complete - Duplicate |
| Microsoft 致谢 | Daniel Wade with nadsec |
| 发布日期 | 2026-08-11 |
| Microsoft 严重级别 | 重要 |
| Microsoft CVSS | 7.8 高 - CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| Microsoft CWE | CWE-284:访问控制不当 |
| 漏洞类型 | 缺失路径 DLL 植入 / COM 对象劫持 |
| 组件 | Cross Device 虚拟摄像头 / Windows Camera FrameServer |
| COM 类 | {E9F83CF2-E0C0-4CA7-AF01-E90C70BEF496} |
| 主要测试版本 | Windows 11 Pro 25H2 build 26200.8524 |
| 影响 | 本地标准用户提权至 NT AUTHORITY\SYSTEM |
Windows 在以下位置注册了 Cross Device 虚拟摄像头 COM 服务器:
%PROGRAMDATA%\CrossDevice\CrossDevice.Streaming.Source.dll
在用于验证的全新/默认 Windows 11 虚拟机上,计算机范围的注册项先于其对应的目录存在。标准用户创建了缺失的目录,植入预期的 DLL,并调用虚拟摄像头 API。Camera Frame Server 以 LOCAL SERVICE 身份加载了该 DLL,随后证明链获取了 SYSTEM 令牌,并将凭证写入受保护路径。
这是一个缺失路径或预初始化问题。这并非声称标准用户可以覆盖现有的、受保护的 Microsoft DLL。
相关的计算机范围注册项如下:
HKLM\SOFTWARE\Classes\CLSID\{E9F83CF2-E0C0-4CA7-AF01-E90C70BEF496}\InProcServer32
(Default) REG_EXPAND_SZ %PROGRAMDATA%\CrossDevice\CrossDevice.Streaming.Source.dll
所演示的攻击链如下:
C:\ProgramData\CrossDevice 不存在。SeImpersonatePrivilege。NT AUTHORITY\SYSTEM 身份将凭证写入受保护路径。仅在你拥有或获明确授权测试的一次性易受攻击实验虚拟机中运行此概念验证。使用前请为虚拟机创建快照。
在标准用户命令提示符下:
cd /d path\to\fresh-vm-repro
Run-CrossDevicePoC.cmd
运行脚本会验证预期的注册项,并拒绝触碰已存在的 Cross Device 目录或意外的辅助二进制文件。成功执行将生成 LOCAL SERVICE、权限和 SYSTEM 凭证。
完整的先决条件、预期结果、哈希值、构建命令和清理步骤见 fresh-vm-repro/README.md。
两份录像均予保留,因为它们记录了该案例中互补的部分。
| 视频 | 说明 |
|---|---|
fresh-vm-missing-path-to-system.mp4 | 主要:全新/默认虚拟机重新验证,展示标准用户植入、LOCAL SERVICE 执行和 SYSTEM 凭证。该录像通过终端回滚查看了早先的缺失路径状态;文字记录保留了明确的创建前输出。 |
guided-full-chain-standard-user-to-system.mp4 | 来自原始提交的辅助演示。更详细地展示了利用与模拟链。有效负载在开始时已存在,因此该录像提供的是攻击链上下文,而非独立的全新状态证明。 |
捕获的全新虚拟机控制台输出保存在 fresh-vm-transcript.txt 中。
docs/technical-report.mddocs/msrc-fresh-vm-clarification.mddocs/archive/| 日期 | 事件 |
|---|---|
| 2026-06-01 | 初始报告以 VULN-192287 提交至 MSRC;MSRC 案件 119805 开启 |
| 2026-06-04 | 提供了缺失路径/预初始化澄清说明和干净的复现归档 |
| 2026-06-05 | MSRC 确认了该澄清说明 |
| 2026-07-27 | MSRC 确认了该行为,随后判定该提交与早先一个具有相同 Windows Camera FrameServer 根本原因的问题重复;已计划致谢,未发放赏金 |
| 2026-08-11 | Microsoft 发布了 CVE-2026-66804 并推出安全更新 |
| 2026-08-13 | 确认了致谢措辞 Daniel Wade with nadsec |
OXID 解析器、命名管道模拟、OBJREF 构造以及 SYSTEM 令牌获取逻辑的部分内容,改编自 BeichenDream 及其贡献者开发的 GodPotato,并转换为 C 语言。
署名与许可详情请参阅 THIRD_PARTY_NOTICES.md 和
LICENSES/Apache-2.0.txt。
fresh-vm-repro/docs/technical-report.md免责声明: 此漏洞利用代码仅供授权的安全研究和教育使用。请勿将其用于你不拥有或未获明确许可测试的系统。仅在一次性实验虚拟机中运行。作者不对滥用或损坏负责。
CVE-2026-66804 - 以案件 119805 / 提交 VULN-192287 报告给 MSRC,处置为 Complete - Duplicate。
Microsoft 致谢:Daniel Wade with nadsec。
Daniel Wade - GitHub · Twitter/X · Bluesky · Mastodon · Medium · nadsec.online