CVE-2026-83834:Windows 内核驱动释放后重用漏洞分析与利用流程

导语:微软在 2026 年 10 月补丁日中披露了 Windows 内核态驱动提权漏洞 CVE-2026-83834。研究员 z0v3r1n 在 GitHub 公开了首个 Windows 利用程序,将其标记为自己的”第一枚 Windows 利用程序”。本文按官方模板拆解漏洞标识、影响范围、补丁清单与利用流程,并附 POC 下载地址。


漏洞标识与风险速览

项目内容
漏洞编号CVE-2026-83834
类型释放后重用(UAF)+ 检查-使用竞态(TOCTOU)
CWECWE-416 / CWE-367
CVSS 3.17.0 HIGH,CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H/E:U/RL:O/RC:C
微软评级Important(重要),处置建议标注 “Exploitation More Likely”
攻击前提本地、低权限、无需用户交互,需赢得竞态窗口(AC:H)
影响结果提权至 SYSTEM(本地权限提升)
公开状态截至 KEV 2026.10.30 版本,未被 CISA 列入已知利用目录

风险等级:🔴 高。虽然 CVSS 基线只有 7.0,但微软将其单独标注为”更可能被利用”,且公开 POC 已出现,实际威胁高于分数本身。

影响实体与补丁清单

受影响组件为 Windows 内核态驱动(Frame Server 媒体流路径,mskssrv.sys)。除 Windows 10/11 客户端外,Windows Server 2016/2019/2022/2025 同样在列,服务器环境需重点排查。

产品修复版本KB 编号
Windows 10 1607 / Server 201610.0.14393.9612KB5126868
Windows 10 1809 / Server 201910.0.17763.9376KB5126651
Windows 10 21H2 / 22H210.0.19044.7807 / 10.0.19045.7807KB5126657
Windows 11 23H210.0.22631.7652KB5126653
Windows 11 24H2 / 25H2 / 26H210.0.26100.9711 / 10.0.26200.9711 / 10.0.26300.9711KB5127648
Windows 11 26H110.0.28000.3231KB5127646
Windows Server 202510.0.26100.33650KB5126646

⚠️ 补丁为累积更新,官方标注 RestartRequired: Yes,需重启生效。生产环境请评估重启窗口与旧版应用兼容性。

漏洞原理

漏洞位于 FSRendezvousServer::PublishRx 与 FSRendezvousServer::ConsumeTx 两个函数,二者存在完全相同的错误模式:先获取服务器互斥锁,确认目标 FSStreamReg 对象仍在链表上,然后释放互斥锁,再获取该对象自身的锁。两次加锁之间没有任何引用计数或生命周期保护。

由于全程没有持有对 FSStreamReg 的引用,服务器互斥锁释放与对象锁获取之间存在一个极窄的窗口:此刻另一个线程调用 FSRendezvousServer::Close() 释放该对象,睡眠线程随后拿到的是已被释放的内存,形成释放后重用(UAF)。攻击者通过对该内存的并发读写获得对内核对象的控制,进而完成提权。

竞态窗口时序示意

利用流程

公开 POC 走的是”竞态 + 内核池喷洒 + 令牌窃取”的经典路线,完整链条如下:

漏洞利用流程图

第一步,枚举目标设备。 通过 CM_Get_Device_Interface_ListW 在 KSCATEGORY_VIDEO_CAMERA / KSCATEGORY_VIDEO 类别下枚举摄像头设备路径,再按接口 GUID 3C0D501A-140B-11D1-B40F-00A0C9223196 定位 mskssrv 设备对象。

第二步,泄露内核基址。 POC 内置的 prefetch_leak 汇编例程利用 Intel 平台的缓存预取时序差异(推测执行侧信道)读取 ntoskrnl 基址,为后续内核对象定位做准备。

第三步,内核池喷洒。 持续分配与 FSStreamReg / FS_FRAME_ENTRY 尺寸一致的对象占满内核池,保证 UAF 触发后被释放的内存立即被攻击者可控数据覆盖。

第四步,并发竞态。 一个线程在循环中下发 IOCTL_PUBLISH_RX(0x2F040C)发布接收流,另一个线程并发 CloseHandle 关闭同一设备句柄以触发 Close() 释放对象。POC 通过线程亲和性把发布线程与 3 个自旋线程固定在同一颗 CPU 上,人为压缩窗口时间,关闭与停止之间的等待窗口约 40ms。

第六步,令牌窃取提权。 以被篡改的 winlogon 进程句柄作为父进程(PROC_THREAD_ATTRIBUTE_PARENT_PROCESS)创建 cmd.exe,子进程直接继承 SYSTEM 令牌,最终拿到系统最高权限。

POC 下载

  • 项目地址:https://github.com/wkpwn/CVE-2026-83834/
  • 预编译程序:x64/Release/mskssrv-uaf.exe(仓库内已提供,配套 PDB 符号)
  • 源码目录:mskssrv-uaf/,含 race.h(竞态调度)、spray.h(池喷洒)、prefetch_leak.h(内核基址泄露)、mskssrv.h(IOCTL 与结构体定义)
  • 原始披露:X 平台 @z0v3r1n 推文(2026-10-14),漏洞由其发现并致谢于仓库 README

使用条件:需 x64 Windows,需以管理员权限运行(利用 SeDebugPrivilege 打开 winlogon 句柄),依赖系统存在摄像头设备接口。

📌 该 POC 属于可直接完成 SYSTEM 提权的可运行利用程序,仅限在获得书面授权的隔离测试环境中使用。未经授权在生产网或他人设备上运行,可能构成违法入侵行为。下载前请自行完成风险评估与授权确认。

处置方案

首选方案——安装补丁。 按上表 KB 编号分批推送 10 月累积更新,确认客户端与服务器均升级至修复版本,重启后通过 winver 或 Get-ComputerInfo 核对 build 号。

补丁前的临时缓解:

  • 通过应用控制策略(WDAC/AppLocker)限制非受信进程打开 mskssrv 设备接口与下发 0x2F040C / 0x2F0410 IOCTL;
  • 在不需要视频采集的终端上停用 Windows 相机帧服务(WindowsCameraFrameServer / FrameServer),切断驱动暴露面;
  • 启用内核攻击缓解基线:强制 ASLR、启用 Hypervisor-enforced PPL、开启凭据保护相关策略,压缩 UAF 的可利用价值。

检测建议:

  • EDR 侧关注 mskssrv.sys 设备句柄的短时间高频创建与关闭,以及同一进程内并发 IOCTL 发布/消费的异常模式;
  • 监控 winlogon.exe 出现非预期子进程(尤其 cmd.exe、powershell.exe),这是令牌窃取落地后的直接特征;
  • 对已打补丁但仍存在异常行为的终端,可抓取内核对象分配行为确认是否已被利用。

结语

CVE-2026-83834 是一个典型的”低分高危”样本:7.0 的基础分掩盖了 SYSTEM 提权的后果,而 AC:H 的竞态前提也只提高了利用门槛,并未阻断利用。公开 POC 的出现让利用链路的最后一段被抹平,防守方的时间窗口只剩下打补丁这一件事。建议本周内完成客户端与服务器双线的补丁推送,并对已暴露在外网的服务器终端做一次 winlogon 异常子进程的回溯排查。

版权声明:本文由华盟网原创发布,保留所有权利。配图由华盟网文生图工具生成,版权归华盟网所有。

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容