2026 年 8 月初,独立安全研究人员 Daniel Wade 公开了 Windows InstallService 组件本地权限提升漏洞 CVE-2026-50343 的完整 PoC 与利用脚本,并将其命名为 “Dark Elevator”。该漏洞 CVSS 评分 7.8,触发链路短且无需管理员权限、无 UAC 提示、无需重启,攻击成功后即可在 Microsoft Store 安装服务(InstallService,宿主于 svchost.exe,以 NT AUTHORITY\SYSTEM 权限运行)的进程上下文中执行任意代码。微软已在 2026 年 7 月补丁星期二发布修复,但利用代码公开显著提高了该漏洞被自动化工具库整合的速度。
事件概述
InstallService 是 Windows 中负责 Microsoft Store 应用安装与更新的核心组件,参与后台维护、插件加载、跨设备内容投放等流程。Microsoft Defender 团队曾多次观察到此服务被勒索软件集团、APT 组织与”AI 渗透测试”工具滥用。该漏洞的根因不是单一逻辑错误,而是”ACL 错配”与”受信任服务加载不受信 DLL”两个问题叠加:
- ACL 错配:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\InstallService\State\PlugInList与...\StaticPluginMap默认对标准用户开放写入权限; - 特权 DLL 加载:当 InstallService 在 SYSTEM 上下文读取
StaticPluginMap时,会通过 COM 类的CLSID加载关联的 InprocServer32 DLL,而 Windows 自带的某 COM 类({E9F83CF2-E0C0-4CA7-AF01-E90C70BEF496},CrossDevice 流式组件)恰好把它的 DLL 注册在%ProgramData%\CrossDevice\CrossDevice.Streaming.Source.dll,且%ProgramData%是标准用户可写目录。
把这两点拼起来,等价于”标准用户决定 SYSTEM 进程加载哪个 DLL”——这是教科书级的特权 DLL 接管路径。
技术细节
触发条件
- 受害主机:Windows 11 25H2(build 26200.xxxx)已实测可稳定复现,其它安装 Microsoft Store 的 Windows 版本预期同样存在风险;
- 攻击者权限:本地标准交互账户,无需管理员、无 UAC 弹窗;
- 攻击路径:仅需一次 WinRT API 调用
Windows.ApplicationModel.Store.Preview.InstallControl.AppInstallManager.SearchForAllUpdatesAsync(),促使 InstallService 检查更新并加载被污染的注册表项。
完整利用流程(PoC 复现)
- 准备阶段:编译或下载 x64 / x86 / ARM64 三套 ShellCode DLL,并放置到
C:\Users\Public\isp_exploit.dll或自选目录; - 注册表写入:
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\InstallService\State\PlugInList\MyPlugin" /v "State" /t REG_DWORD /d 1 /f
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\InstallService\State\StaticPluginMap" /v "MyPlugin" /t REG_SZ /d "%ProgramData%\CrossDevice\CrossDevice.Streaming.Source.dll" /f
- 触发:PowerShell 调用
SearchForAllUpdatesAsync()即可,或使用 PoC 仓库中的Run-InstallServiceInteractiveShell.ps1; - 执行:
InstallService在 SYSTEM 上下文通过 COM 加载攻击者指定的 DLL,canaryDLL 直接在当前桌面会话中弹出 SYSTEM 权限的 Shell; - 痕迹保留与持久化:利用成功后即可创建特权账户、安装服务、写入计划任务、删除或禁用安全软件、读取其他用户数据,达成完全控盘。
技术亮点
- 整个利用全程不涉及内核内存破坏,因此不会被 PatchGuard、HVCI 等内核级缓解措施拦截;
- 复用 Windows 自带 COM 类让攻击者无需注册新 CLSID,避开了 admin-only 的注册表写入要求;
- 利用过程对 AV / EDR 可见性较低,特别是当 SECURITY 组监控仅盯”加载未知 DLL”却忽略”已知 CLSID 被覆写路径”的场景。
影响评估
CVE-2026-50343 是一类”低调但高危”的本地提权漏洞:对单台主机的影响评分 7.8,看似一般,但因为:① 不需要任何用户交互,② 不需要 admin / UAC,③ 公开 PoC 已就绪,④ 可以与 RDP 暴力破解、钓鱼初始访问、浏览器 RCE 之后的沙箱逃逸等多种”初级立足点”组合形成完整的 SYSTEM 接管链路,所以真实风险显著高于基础 CVSS。建议组织将其与”任何允许多用户登录”的主机(终端、跳板机、CI Worker、共享开发机)联系起来评估。
参考历史经验,公开 PoC 的 Windows 本地提权漏洞通常会在 7 至 14 天内被勒索软件团伙、MaaS 工具集(如 Cobalt Strike 后渗透插件)以及商业间谍软件集合纳入。本次 PoC 已经在多份独立技术文章中得到完整复现,其传播面比单纯的”漏洞公告”宽得多,强烈建议未打补丁的系统视同已暴露。
修复建议
- 应用 2026 年 7 月 Microsoft 补丁星期二发布的 Windows 更新,立即重启主机以便 InstallService 重新加载修补后的 DLL;
- 在补丁落地前,使用以下检测与缓解措施:
# 监控注册表写入
Sysmon Event ID 13 包含 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\InstallService\State\PlugInList
或 ...\StaticPluginMap 的写入动作
# 监控 InstallService 进程外的 DLL 加载
Get-WinEvent -LogName Microsoft-Windows-Kernel-General | Where-Object {
$_.Message -like '*svchost.exe*' -and $_.Message -like '*CrossDevice.Streaming.Source.dll*'
}
# 临时限制多用户交互登录(仅在确认补丁尚未应用时)
Disable-LocalUser -Name "Guest"
$users = Get-LocalUser | Where-Object { $_.Enabled -eq $true -and $_.Name -ne 'Administrator' }
# 视情况回收不必要的本地交互账户
- 在生产环境中启用 LSA 凭据隔离、LSA Protection(RunAsPPL),并强制 PPL 策略覆盖 InstallService 宿主进程,降低 DLL 注入成功后的横向扩散能力;
- 对共享终端、跳板机、CI Worker 重新审视”标准用户能不能交互登录”——这是该漏洞最直接的利用放大器;
- 长期防御:把 Sysmon Rule ID 1(Process Create)扩展为”任何由
svchost.exe派生cmd.exe/powershell.exe“告警;启用 Attack Surface Reduction 规则阻断可疑的 WinRT API 调用组合; - 在 Microsoft Defender for Endpoint 环境中验证
Trojan:LPE/CVE-2026-50343相关遥测是否命中(Defender 已给出对应检测签名); - 对所有可能”曾经被多用户登录”的主机,安排一次系统镜像重建并轮换所在域账户的凭据。
参考来源
- 微软官方公告:CVE-2026-50343 – Windows InstallService Elevation of Privilege Vulnerability
- GitHub PoC:Rat5ak/CVE-2026-50343-InstallService-EoP
- 中文技术分析:CVE-2026-50343 漏洞利用代码公开,Windows 本地权限提升风险加剧
- 华盟网深度分析:CVE-2026-50343:Windows InstallService 本地权限提升漏洞分析
- Malware.news 技术细节:Dark Elevator: Windows Install Service Local Privilege Escalation