CVE-2026-49176:Windows WalletService 本地提权漏洞公开 PoC

导语:安全研究人员 David Carliez 公开了 CVE-2026-49176 的完整利用代码和技术分析。该漏洞位于 Windows WalletService,标准用户可借此将本地权限提升至 SYSTEM。微软已于 2026 年 7 月 14 日修复,建议尽快打补丁。


一、漏洞速览

项目详情
CVE 编号CVE-2026-49176
漏洞类型本地权限提升(Local Privilege Escalation)
组件Windows WalletService
严重等级Important(重要)
CVSS 3.17.8(矢量:AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
CWECWE-269(权限管理不当)、CWE-59(链接解析不当)
已公开 PoC是(GitHub 已发布完整代码)
官方补丁已发布(2026 年 7 月 14 日 KB5099539)

二、影响范围

受影响的 Windows 版本(Build 号对应):

  • Windows 10 1607 及以上(Build 14393.0)
  • Windows 10 1809 及以上(Build 17763.0)
  • Windows 10 21H2/22H2(Build 19044.0、19045.0)
  • Windows 11 22H2(Build 26100.0)
  • Windows 11 24H2(Build 26200.0)

三、漏洞原理

WalletService 是 Windows 系统中的一个 LocalSystem 服务组件,为公共 Windows Wallet WinRT API 提供底层支持。

攻击链路如下:

第一步:重定向 Documents 文件夹。 标准用户将「文档」已知文件夹路径重定向至攻击者控制的目录。

第二步:构造恶意 ESE 数据库。 攻击者在重定向目录下创建 Walletwallet.db,在 Cards 表中嵌入一个 ESE 持久化回调(Persisted Callback),指向攻击者提供的 DLL 文件路径。

第三步:触发 WalletService 加载。 标准用户通过公共 Wallet API 发起请求(如列出钱包卡片),WalletService 以用户身份解析 Documents 路径后,随即恢复至 LocalSystem 身份并打开 wallet.db,ESE 数据库引擎在打开过程中解析并加载回调中指定的 DLL。

第四步:获得 SYSTEM Shell。 加载的 DLL 在 WalletService(svchost.exe,SYSTEM 权限)进程内执行,释放 SYSTEM Token 至当前桌面会话,自动弹出一个 SYSTEM 权限的交互式命令提示符。

关键点: 此漏洞无需内存破坏、无需竞争条件、无需管理员权限,纯粹利用 WalletService 对用户可控路径的信任进行权限跨越。


四、PoC 获取

安全研究员 David Carliez(@DavidCarliez)已在 GitHub 公开完整利用代码:

PoC 地址: https://github.com/DavidCarliez/CVE-2026-49176_LPE_POC 技术分析: https://davidcarliez.github.io/blog/cve-2026-49176-walletservice-to-system/

触发方式(目标系统非提升 PowerShell):

powershell.exe -ExecutionPolicy Bypass -File .trigger.ps1

或直接双击运行 run.cmd。成功执行后将弹出一个 NT AUTHORITYSYSTEM 权限的命令行窗口。

攻击流程图

五、修复方案

方案一:安装官方补丁(推荐)

微软已于 2026 年 7 月 14 日通过 KB5099539 修复该漏洞。补丁通过服务组件 WalletServiceRedirectionGuard 关闭了有漏洞的旧版 WalletService 数据库路径。

操作步骤:

  1. 打开「Windows 更新」或访问 Microsoft Update Catalog
  2. 搜索 KB5099539
  3. 下载并安装对应系统版本的更新
  4. 重启计算机

⚠️ 注意: 安装补丁后 WalletService 将不再打开用户目录下的 wallet.db,若业务系统依赖 Windows Wallet 功能,请提前测试兼容性。

方案二:禁用 WalletService(临时缓解)

如无法立即打补丁,可通过以下命令禁用 WalletService:

sc config WalletService start= disabled

⚠️ 风险: 禁用后 Windows Wallet 相关功能将不可用,可能影响需要钱包功能的应用程序。

方案三:监控告警(检测性防御)

在正式补丁落地前,可部署以下检测规则:

  • 监控 WalletService(svchost.exe)从非标准路径加载 DLL
  • 监控 DocumentsWalletwallet.db 是否存在于用户可写的重定向路径下
  • 监控短时存在的 SYSTEM 级交互式会话(新建的 cmd.exe 进程以 SYSTEM 权限运行于活跃桌面)

六、总结

CVE-2026-49176 是一个利用链路精巧的本地提权漏洞,攻击门槛极低——只需标准用户权限和一个重定向的 Documents 文件夹路径。PoC 已公开,任何人都能立即复现。

该漏洞再次说明:高权限服务信任用户可控的文件路径,是极其危险的设计缺陷。 建议 IT 运维团队优先为暴露在物理访问或共享计算环境的 Windows 终端打补丁。

版权声明:本文由华盟网原创发布,保留所有权利。配图由华盟网授权使用。

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

请登录后发表评论

    暂无评论内容