目标达成 感谢每一位支持者 — 我们达成了 100% 目标!

目标: 1000 元 · 已筹: 1359 元

100%

CVE-2026-99178— KVM x86 内核 NMI 上下文异步#PF 标志处理漏洞

一分钟漏洞结论

影响对象
Linux Linux
利用判断
尚无明确在野利用证据,仍需结合暴露面评估
建议动作
优先检查厂商安全公告和参考链接中的修复版本;无法立即升级时,限制受影响服务暴露并加强监测。

在 Linux 内核中,以下漏洞已得到修复: x86/KVM:在 NMI 上下文中处理内核页错误(#PF)时,不要消耗异步 #PF 标志位 当一个异步的“页不存在”(page not present)#PF 事件通过 #PF 中断向量到达时,其具体原因会保存在每个 CPU 的 中,直到 函数读取并清除该标志。如果在事件注入之后、但在 #PF 处理程序读取这些标志之前,发生了一次非屏蔽中断(NMI),且该 NMI 处理程序自身也触发了一个 #PF 异常,那么这个新产生的故障会读取并清除原本属于被中断的 #PF 事件的

AI 预测 7.5 利用难度: 中等

影响版本矩阵 8

厂商产品 版本范围状态
Linux Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2< b77e9622bbade9812e2090c66d25c372f515e921 affected
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2< f45ee1ff6358a22d7e22a4c53cb3148ea97b10d9 affected
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2< 81d99abe2bd81379abfb595e403bbbee6fbfc624 affected
< 6.18.59 affected
< 7.2.13 affected
6.18.59≤ 6.18.* unaffected
7.2.13≤ 7.2.* unaffected
7.3≤ * unaffected
获取后续新漏洞提醒 登录后订阅

一、 漏洞 CVE-2026-99178 基础信息

漏洞信息

对漏洞内容有疑问?看看神龙的深度分析是否有帮助!
查看神龙十问 ↗

尽管我们使用了先进的大模型技术,但其输出仍可能包含不准确或过时的信息。神龙努力确保数据的准确性,但请您根据实际情况进行核实和判断。

Vulnerability Title
x86/kvm: Don't consume async #PF flags on a kernel #PF in NMI context
来源: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: x86/kvm: Don't consume async #PF flags on a kernel #PF in NMI context An async #PF "page not present" event arrives through the #PF vector, and its reason sits in the per-CPU apf_reason.flags until __kvm_handle_async_pf() reads and clears it. If an NMI arrives after the event is injected and before the #PF handler reads the flags, and the NMI handler itself takes a #PF, that fault reads and clears the flags belonging to the #PF it interrupted. It then finds interrupts disabled in the NMI context it interrupted, and panics: Kernel panic - not syncing: Host injected async #PF in interrupt disabled region Call Trace: <NMI> panic+0x52/0x60 __kvm_handle_async_pf+0xb0/0xb0 exc_page_fault+0x71/0xb0 asm_exc_page_fault+0x27/0x30 RIP: 0010:__get_user_nocheck_8+0x6/0x20 perf_callchain_user+0x147/0x1a0 get_perf_callchain+0x12d/0x1c0 ... perf_event_nmi_handler+0x26/0x50 exc_nmi+0xe8/0x110 RIP: 0010:asm_exc_page_fault+0x0/0x30 </NMI> The last RIP line shows the NMI landing on the first instruction of the #PF entry. perf with user call chains takes such a fault: the sampling NMI walks the user stack with __get_user(), which faults when a saved frame pointer is not a valid user address or the walk runs off the top of the stack. The same window exists when KVM, running as an L1 hypervisor with DELIVERY_AS_PF_VMEXIT, reads the flags itself after a #PF VM-exit. The NMI entry code saves and restores CR2 for this nesting, but not the async #PF reason. Andy Lutomirski described the race, with perf as the example, when async #PF delivery was reworked in 2020 [1]. Saving and clearing the flags across the NMI, next to CR2, was discussed there but not merged. Since that rework, Linux has stopped setting KVM_ASYNC_PF_SEND_ALWAYS, so the host delivers "page not present" only for user mode faults and a kernel-mode fault in NMI context (including kernel-mode #MC and #DB) cannot be an async page fault. In that case, return without touching the flags so that the interrupted handler finds them intact. Tested on v7.3-rc5 in a 4-vCPU, 2 GiB guest restored from a snapshot whose memory is served on demand through userfaultfd, so that reading it back takes async #PFs, while every thread samples hardware cycles with user call chains and points its frame pointer at an unmapped page. Without this patch the guest panicked as above in 3 of 3 runs. With it, the guest survived 3 of 3 runs of 60 seconds, and the host counted 148,441 to 153,334 kvm_async_pf_not_present events in the first 20 seconds of each. On 6.18.50 the results were the same: the guest panicked without the patch and survived with it.
来源: CVE Program / CVE List V5
CVSS Information
N/A
来源: CVE Program / CVE List V5
Vulnerability Type
N/A
来源: CVE Program / CVE List V5

受影响产品

厂商 产品 影响版本 CPE 订阅
Linux Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 ~ b77e9622bbade9812e2090c66d25c372f515e921 -
Linux Linux 6.18.59 ~ 6.18.* -

二、漏洞 CVE-2026-99178 的公开POC

# POC 描述 源链接 神龙链接
AI 生成 POC 高级

未找到公开 POC。

登录以生成 AI POC

三、漏洞 CVE-2026-99178 的情报信息

请登录查看更多情报信息。

CVE-2026-99178 补丁与修复 (2)

同批安全公告 · Linux · 2026-10-28 · 共 117 条

CVE-2026-99143 Linux 内核 tracing 组件越界访问漏洞
CVE-2026-99129 SELinux BPF 令牌权限检查漏洞
CVE-2026-99130 Linux io_uring 拒绝服务漏洞
CVE-2026-99131 XFS 文件系统权限检查绕过漏洞
CVE-2026-99133 Linux 内核网络 IUCV 远程拒绝服务漏洞
CVE-2026-99132 XFS xfs_sync_sb_buf 缓冲区锁竞争漏洞
CVE-2026-99134 mac802154 数据竞争与空指针解引用漏洞
CVE-2026-99135 dm-integrity 大标签丢弃无限循环漏洞
CVE-2026-99137 CIFS 文件系统在无缓存句柄时更新 i_size 存在漏洞
CVE-2026-99136 dm-crypt 竞态条件漏洞
CVE-2026-99138 Linux TCP 协议栈 use-after-free 漏洞
CVE-2026-99140 tracing 模块缓冲区事件时间戳修复
CVE-2026-99139 TCP 协议栈 TCP_CONGESTION 选项后释放漏洞
CVE-2026-99141 内核 tracing 模块 print_graph_function_event 崩溃漏洞
CVE-2026-99142 Tracing 组件栈容量检查缺失漏洞
CVE-2026-99154 libiscsi 负任务索引拒绝漏洞
CVE-2026-99151 AMD Display 驱动 NULL 指针解引用漏洞
CVE-2026-99153 libiscsi 拒绝 PDU 验证逻辑漏洞
CVE-2026-99152 libiscsi 管理响应任务验证绕过漏洞
CVE-2026-99150 amdgpu 驱动程序资源管理漏洞

显示前 20 条,共 117 条。 查看全部 &rarr; →

IV. Related Vulnerabilities