DavidCarliez/CVE-2026-50454-SYSTEM-Shell-PoC

GitHub: DavidCarliez/Windows-AppResolver-LPE-PoC

针对 Windows UI Core 权限提升漏洞 CVE-2026-50454 的 PoC,演示从非提权管理员进程到 SYSTEM shell 的完整利用链。

Stars: 5 | Forks: 1

# CVE-2026-50454 SYSTEM Shell PoC CVE-2026-50454 的概念验证。这是一个已在 2026 年 7 月安全更新中修复的 Windows User Interface Core 权限提升漏洞。 该 PoC 从属于本地管理员的普通非提权进程开始,启动一个以 `NT AUTHORITY\SYSTEM` 身份运行的交互式命令提示符。它不演示从标准非管理员账户的提权过程。 ## 演示 [![CVE-2026-50454 SYSTEM shell 演示](https://static.pigsec.cn/wp-content/uploads/repos/cas/3e/3eeb553d53e1f28b6787b47da07687b7a0c386052b7fea81c246b154d336136d.gif)](media/cve50454.webm) ## 根本原因 在存在漏洞的构建版本中,`Windows.UI.Storage.dll` 允许零权限的 AppContainer 调用私有的 `AppResolverActivationArgsFactory`,而没有进行所需的授权检查。攻击者为 `ms-settings` 协议提供了一个 AppResolver 提供程序,并调用 `SetAsDefault`,导致 Windows 为攻击者的 ProgID 创建一个有效的受保护关联。 随后启动自动提权的 `fodhelper.exe` 会使用高完整性 administrator token 调用已注册的处理程序。该 PoC 使用该 token 创建一个临时服务,该服务的进程会启动最终的交互式 SYSTEM shell。 该更新在工厂创建 AppResolver 对象之前添加了对 `applicationDefaults` 或 `shellExperience` 的权限检查。零权限的 AppContainer 将被拒绝并返回 `E_ACCESSDENIED` (`0x80070005`)。 Microsoft 将公开的 CVE 影响描述为任意系统文件删除。此 PoC 利用了已修补组件中的权限检查漏洞,并不复现已公布的删除原语。 ## 要求 - 处于易受攻击构建版本的 x64 Windows 11 - 运行普通、非提权 PowerShell 窗口的本地管理员账户 - 启用 UAC 和自动提权 - 交互式控制台会话 - 没有现有的基于用户的 `ms-settings` 默认关联 - 安装了 Desktop development with C++ 和 Windows SDK 的 Visual Studio 或 Visual Studio Build Tools 已在 Windows 11 25H2 构建 `26200.8737`(`Windows.UI.Storage.dll` 版本为 `10.0.26100.8737`)上验证。构建版本 `26200.8875` 会拒绝触发。 ## 用法 打开一个普通的 PowerShell 窗口。请勿使用**以管理员身份运行**。 ``` .\build.ps1 Set-ExecutionPolicy -Scope Process Bypass .\run.ps1 ``` 此时应打开一个名为 `CVE-2026-50454 SYSTEM Shell` 的命令提示符。在其中验证 token: ``` whoami whoami /groups ``` 预期身份: ``` nt authority\system ``` 完成后请手动关闭 SYSTEM 命令提示符。脚本在正常清理期间会移除临时服务、协议注册、受保护关联以及 AppContainer 配置文件。 ## 构建 该仓库仅包含源代码。`build.ps1` 会检测已安装的 Visual Studio 工具链,并构建所需的三个 x64 可执行文件: ``` .\build.ps1 ``` 生成的 `.exe`、`.obj` 和 `.pdb` 文件已被排除在版本控制之外。 ## 已修复行为 在已修补的构建版本中,位于 `C:\Users\Public\CVE50454\appcontainer_result.txt` 的触发日志应包含: ``` CREATE_ARGS_HRESULT=0x80070005 ``` 不应创建任何受保护的 `ms-settings` 关联或提权进程。
标签:AI合规, C++, CSV导出, Web报告查看器, Windows, 提权, 数据擦除, 本地提权, 概念验证