LittleSuRii/CVE-2026-MSIAPService
GitHub: LittleSuRii/CVE-2026-MSIAPService
公开披露 MSI Center NBFoundation Service 中三个已修复的本地权限提升漏洞,包含技术分析、PoC 和协调披露时间线。
Stars: 0 | Forks: 0
# MSI Center — MSI NBFoundation Service 漏洞公告
此仓库公开披露了 **MSI Center 的 MSI NBFoundation Service**
(`MSIAPService.exe`,以 `NT AUTHORITY\SYSTEM` 权限运行)中的三个本地权限提升 / 任意操作漏洞。
| CVE | 标题 | CVSS* | 状态 |
|-----|-------|-------|--------|
| [CVE-2026-37452](advisories/CVE-2026-37452.md) | 通过不安全的命名管道 `\\.\pipe\MSI_SERVICE_2` 进行 LPE 至 SYSTEM(`PC:REXE` 以 SYSTEM 权限执行任意进程) | 高 | **已修复** |
| [CVE-2026-37453](advisories/CVE-2026-37453.md) | 通过命名管道暴露的 `WinIO` 类包装器进行任意物理内存和 I/O 端口读/写(`IO:RMREQ` / `IO:WMREQ` / 端口读/写) | 高 | **已修复** |
| [CVE-2026-37454](advisories/CVE-2026-37454.md) | 通过 `REG` 命令组进行任意 `HKLM` 注册表读/写/删除(无调用方认证) | 高 | **已修复** |
\* 严重程度为研究者的评估;这些 ID 未发布官方 CVSS 向量。
这三个漏洞均需要经过身份验证的低权限用户具有本地访问权限。
## 概述
MSI NBFoundation Service 向**所有已认证用户**
(SDDL `D:(A;OICI;GRGW;;;AU)(A;OICI;GA;;;BA)`)暴露了一个单一的命名管道
`\\.\pipe\MSI_SERVICE_2`。该管道的 IPC 协议使用 3DES-ECB 密码,其密钥是由字面字符串
`msiservice` + 客户端提供的应用程序名称 + 当前日期确定性地派生出来的 —
完全可预测且任何本地用户都能轻易复现。一旦握手
完成,服务就会通过 `processInputCommand()` 将命令路由到
几个命令组(`HS`、`REG`、`WMI`、`WMI2`、`PC`、`IO`),其中大部分
均以 **SYSTEM 权限执行,且没有调用方认证**。
这三个 CVE 对应于可通过该管道访问的三个不同命令面:
1. **CVE-2026-37452** — `PC:REXE` 命令(`RunExecuable`)通过 `StartProcessAndBypassUAC`
(在复制的 *winlogon* token 上使用 `CreateProcessAsUser`)启动一个
带有 SYSTEM token 的任意进程。请求的
目标路径和参数在传递给 SYSTEM 上下文进程启动器之前,未经过有效的验证。
2. **CVE-2026-37453** — `IO` 命令组是 WinIO 内核驱动程序(`WinIo64.dll` / `KernCoreLib64.sys`)的直接、未经认证的
包装器,暴露了 `ReadMemory` / `WriteMemory`(`GetPhysLong`/`SetPhysLong`)和
`ReadPort` / `WritePort`(`GetPortVal`/`SetPortVal`)。这允许无权限用户进行任意物理内存和 I/O 端口
访问 — 这是一个 Ring-0 原语(token 窃取、任意内核代码执行)。
3. **CVE-2026-37454** — `REG` 命令组(`REG:RREQ`/`WREQ`/`DREQ`)允许
任何连接的客户端读取、写入或删除任意 `HKLM`(或 `HKCU`)
注册表项,包括用于持久化的 `...CurrentVersion\Run` 和
用于服务劫持的 `SYSTEM\CurrentControlSet\Services\*`。该组未应用任何调用方
认证。
## 受影响产品
| 字段 | 值 |
|-------|-------|
| 供应商 | Micro-Star International (MSI) |
| 产品 | MSI Center → MSI NBFoundation Service |
| 组件 | `MSIAPService.exe`(Windows 服务,以 `NT AUTHORITY\SYSTEM` 运行) |
| 受影响版本 | `<= 2.0.2506.1201` |
| 已修复版本 | MSI Center **`2.0.70.0`** |
| 服务名称 | `MSI Foundation Service` |
| 安装路径 | `C:\Program Files (x86)\MSI\MSI NBFoundation Service\` |
| 攻击面 | 命名管道 `\\.\pipe\MSI_SERVICE_2`(本地) |
## 影响
这三个漏洞均为本地、预认证漏洞(唯一的“认证”是极易预测的
3DES-ECB 密钥),并在 SYSTEM 上下文中执行。无论是组合使用还是单独使用,它们都
允许无权限的本地用户:
- 以 `NT AUTHORITY\SYSTEM` 运行任意命令(完全 LPE) — **CVE-2026-37452**
- 读取/写入任意物理内存和 I/O 端口(Ring-0 原语) — **CVE-2026-37453**
- 读取/写入/删除任何 `HKLM` 注册表项 → 持久化、服务劫持或
破坏启动配置 — **CVE-2026-37454**
## 缓解措施
通过官方 MSI 更新渠道将 MSI Center 升级至 **`2.0.70.0`** 或更高版本。已修复版本:
- 对 `PC` 进程启动路径添加了适当的验证。
- 从 MSI Center 中移除了 `WinIO` 内存/端口读/写代码路径。
- 将 `REG`/`WMI`/`WMI2` 命令组纳入调用方认证。
受影响版本不存在仅通过配置解决的方法;命名
管道 DACL 授予所有已认证用户读/写权限,因此禁用或
限制该服务是唯一的临时措施,但这会破坏 MSI Center 的功能。
## 披露时间线
| 日期 | 事件 |
|------|-------|
| 2026-02-28 | 向 MSI PSIRT 初次披露(LPE + WinIO)。提供了 PoC 和视频。 |
| 2026-03-09 | MSI 确认了报告的漏洞;提供了 `PC` 组的第一个补丁;声明将移除 WinIO。 |
| 2026-03-20 | MSI 发布了更新补丁。`REG`/`WMI`/`WMI2` 组仍然没有调用方认证。 |
| 2026-06-21 | 通过此仓库进行公开披露。在 MSI Center `2.0.70.0` 中已修复。 |
## 仓库内容
```
advisory/
├── README.md # this file
├── advisories/
│ ├── CVE-2026-37452.md # LPE to SYSTEM via PC:REXE
│ ├── CVE-2026-37453.md # arbitrary physical memory / I/O port R/W via WinIO
│ └── CVE-2026-37454.md # arbitrary HKLM registry R/W/D via REG commands
├── poc/
│ └── MSIAPService_PoC.py # PoC (PC:REXE → cmd.exe as SYSTEM)
└── docs/
└── MSIAPService_Vuln_List.xlsx # consolidated vulnerability list
```
原始的演示视频和供应商通信未在此处提交
(大型二进制文件 / 私人电子邮件),且不属于公开记录的一部分。
## 参考
- MSI 产品安全公告:
## 免责声明
此仓库是在与 MSI 协调披露后,出于防御和教育目的而发布的。这些 PoC 是最小复现代码,旨在供
管理员验证其安装是否已打补丁。**请勿对您不拥有或未获授权测试的系统运行这些 PoC。**
标签:CVE, IPC命名管道, Web报告查看器, 数字签名, 本地提权, 漏洞披露, 逆向工具