CVE-2026-83834:mskssrv.sys 内核 UAF 提权——10 月 Patch Tuesday 公开 PoC 的本地核武器

导语:微软 10 月 13 日 Patch Tuesday 一次修了 1413 个漏洞,其中就包括 CVE-2026-83834——Windows 内核流服务驱动 mskssrv.sys 的 Use-After-Free 本地提权。CVSS 7.0,授权攻击者登录系统后可直接打到 SYSTEM。安全研究者 wkpwn 在 GitHub 公开了完整 PoC,连 IBM X-Force 早在 5 月就发文说这个组件「几乎贴近 0day」。一句话:补丁刚出门,武器就摆在桌上了。

CVE-2026-83834 mskssrv.sys 内核 UAF 提权攻击链:用户态 → 内核流服务驱动 → SYSTEM

一、漏洞档案

项目详情
CVE 编号CVE-2026-83834
官方标题Windows Kernel-Mode Drivers Elevation of Privilege Vulnerability
CWECWE-416(Use-After-Free)
CVSS 3.17.0(HIGH)
攻击向量本地(AV:L)
攻击复杂度高(AC:H)
所需权限低权限(PR:L)
影响组件Windows 内核流服务驱动 mskssrv.sys
披露日期2026-10-13(10 月 Patch Tuesday)
PoC 公开wkpwn/CVE-2026-83834(GitHub)
MSRC 公告https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-83834

10 月 Patch Tuesday 一共 1413 个 CVE,是微软单月补丁数历史新高。CVE-2026-83834 不在「最可能被利用」清单里,但「本地提权 + 公开完整 PoC」这个组合,让它在实际渗透链里反而比那些 9.8 分的 RCE 更危险。

二、技术原理:UAF + TOCTOU 双叠加

漏洞落在 mskssrv.sys 的两个流处理例程上——FSRendezvousServer::PublishRx 和 FSRendezvousServer::ConsumeTx。这两个函数管的是流数据的「发布/订阅」通信,常见于 Windows 多媒体框架。

攻击链分三步:

第一步:构造 UAF。 攻击者调一系列精心排好时序的流 API,把对象从内核池里「释放掉」但仍保留悬挂引用。这一步是经典的 CWE-416——引用计数没归零,IOCTL(输入输出控制)路径提前 return。

第二步:TOCTOU 竞态。 UAF 还没被利用之前,攻击者并发抢占同一段内核池,让系统在新对象分配时复用刚被释放的内存槽位。IBM X-Force 5 月那篇《Critically close to zero-day》专门分析过这种「mskssrv 是 PnP(Plug and Play,即插即用)驱动,IoAttachDeviceToDeviceStack 把设备对象挂到设备栈」的结构——这种设计让多个驱动共享设备对象,竞态窗口天然存在。

第三步:喷射占位 + 提权。 攻击者用 token 喷射(Token Spraying,一种在内核堆中放置大量目标对象以获取其地址的技术)把伪造的 EPROCESS(Executive Process,执行体进程)结构灌进复用的内存槽位,强制把当前进程的 Token 字段改写为 SYSTEM 进程的 Token。攻击者进程从「受限用户」秒变「SYSTEM」。

整个过程无需网络访问,无需管理员凭据,只需一个能登录的本地低权限账号。

三、wkpwn 公开了什么

wkpwn 的 GitHub 仓库直接给出完整可编译的 LPE(Local Privilege Escalation,本地提权)项目。DeepWiki 索引显示:

  • 包含完整 UAF 触发代码(基于公开符号逆向 mskssrv.sys 的 IOCTL 处理路径)
  • 包含 token 喷射器(用 NtAllocateVirtualMemory 反复占位)
  • 包含 HandleStealer 子模块(提权后稳定化)
  • README 直接给出编译命令和测试步骤

这意味着红队成员在补丁发布当天就能编译出武器。蓝队如果当晚没合上补丁,第二天就可能被这套东西打穿。

四、攻击者画像

这种漏洞在三个场景里杀伤力最大:

第一类是勒索软件团伙。 拿到一个员工机器的初始访问(钓鱼、RDP 弱口令)后,本地提权到 SYSTEM 几乎是例行步骤。UAF PoC 让这一步从「定制开发」变成「GitHub clone」。

第二类是内网横向移动。 同一台机器上多个低权限账号可同时登录(共享工作站、终端服务器、研发机),从一个普通账号横跳到 SYSTEM 再抓其他用户的凭据,是常见链路。

第三类是供应链攻击。 软件安装包里夹一个 LPE 工具 + 一个服务安装器,落地后自提权,绕过 UAC(用户账户控制)以 SYSTEM 身份持久化。

CVSS 7.0 给的 AC:H(攻击复杂度高)不是低,而是说「实现 PoC 需要懂内核」。但既然 wkpwn 已经把代码写好,AC:H 这一栏在实战里就是 0。

五、防御清单

按优先级排:

  1. 立即打 10 月 Patch Tuesday 补丁(KB 系列,对应 MS26-10 系列公告)。内核驱动补丁必须重启才能生效——WSUS/SCCM 部署时记得勾选「强制重启」选项。
  2. 冻结未打补丁机器的本地低权限登录。BYOD(自带设备)、外包接入、Kiosk 这类场景先冻结,等补丁落地再放开。
  3. Sysmon + EDR 规则:监控 mskssrv.sys 相关 IOCTL 调用的异常频率;监控 token 替换类 ETW(Event Tracing for Windows,Windows 事件追踪)事件(Microsoft-Windows-Kernel-Audit-API-Calls 5145 之类)。Sysmon 自带规则对这类内核 UAF 没有现成签名,需要按 PoC 里的 NtAllocateVirtualMemory 调用模式自写规则。
  4. WDAC(Windows Defender Application Control)策略上线后,未签名驱动直接拒绝加载。mskssrv.sys 本身是微软签名的合法驱动,所以 WDAC 不能直接拦 UAF 调用,但可以限制未签名可执行文件调用 NtAllocateVirtualMemory 大块内存的频率,给检测多一层。
  5. 审计 Service Account 提权日志。本地 SYSTEM 提权会留下 4672、4673 这类事件,但默认只记录管理员账号。要把 Service Account 也加进审计。

六、对防御团队的两点提醒

第一,不要只看 CVSS 分排序。 这次 9.8 分的 CVE-2026-100202(Message Queuing 远程 RCE)排第一,但远程触发难度大、防护产品覆盖多;CVE-2026-83834 7.0 分看着不高,但 PoC 现成 + 攻击复杂度被开源代码降到 0,实际威胁反而比 9.8 分那些大。

第二,UAF 类 PoC 的稳定化比 RCE 难。 wkpwn 的代码在 Win10 1607 上能直接跑,但 Win11 24H2 上因为内核池布局变化可能要调偏移。蓝队可以基于这点做蜜罐式测试:在受控 Win11 24H2 环境跑 PoC,看是否稳定提权——如果不稳,意味着攻击者需要花时间改代码,这正是争取补丁落地的时间窗口。


七、思考题

  • 本地提权漏洞在没有远程触发面的情况下,对企业威胁到底有多大?什么场景下应该被列为 P0?
  • wkpwn 公开 PoC 的做法符合 responsible disclosure 吗?开源社区对此类内核武器的态度应该是什么?
  • 微软的 MSRC 公告里没给技术细节,CWE-416 这个标签是否足够让企业 IT 部门判断是否需要紧急打补丁?

素材出处:

  • MSRC 官方公告:https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-83834
  • OpenCVE 详细记录:https://app.opencve.io/cve/CVE-2026-83834
  • Rapid7/Vulners 数据库:https://vulners.com/rapid7/RAPID7:MICROSOFT-WINDOWS-CVE-2026-83834
  • DeepWiki 索引 wkpwn 仓库:https://deepwiki.com/wkpwn/CVE-2026-83834
  • IBM X-Force 技术分析(2026-05):https://www.ibm.com/think/x-force/critically-close-to-zero-day-exploiting-microsoft-kernel-streaming-service
  • Talos Patch Tuesday 总结(2026-10-13):https://blog.talosintelligence.com/microsoft-patch-tuesday-for-october-2026/

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

请登录后发表评论

    暂无评论内容