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报告查看器, 数字签名, 本地提权, 漏洞披露, 逆向工具