CVE-2026-46316
KVM: arm64: vgic-its: 仅对已擦除的条目丢弃转换缓存引用
- 已发布
- 2026年6月9日
- 已更新
- 2026年9月16日
- 分配 CNA
- Linux
- 观察到的证据
- 2026年8月7日
初级CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H低 · 未来 30 天
- 百分位
- 37.7%
- 型号日期
- 2026年9月21日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
在 Linux 内核中,已解决以下漏洞:KVM: arm64: vgic-its: 仅对已擦除的条目丢弃转换缓存引用 vgic_its_invalidate_cache() 使用 xa_for_each() 遍历每个 ITS 的转换缓存,并通过 vgic_put_irq() 丢弃缓存中每个条目的引用。然而,它丢弃的是迭代出的指针,而不是 xa_erase() 返回的值。该函数从互不排斥的上下文中被调用:ITS 命令处理器持有 its_lock,GITS_CTLR 写入路径持有 cmd_lock,而清除重分发器 GICR_CTLR 中 EnableLPIs 的路径两者都不持有。其中两个或更多上下文可以并发地排空同一个缓存,如果每个上下文都观察到同一个条目、将其擦除然后丢弃,那么缓存对该条目持有的单一引用就会被多次丢弃。该条目随后可能在 ITE 仍映射它时被释放。xa_erase() 是原子操作并返回先前的条目,因此只应丢弃此上下文实际移除的条目。这样,即使失效操作并发运行,缓存引用也恰好为每个条目丢弃一次,而当只有一个上下文运行时,行为保持不变。
来源
1- ITScape漏洞利用
CVE-2026-46316 从客户机到主机的 KVM/arm64 逃逸利用,利用 vGIC-ITS 模拟中的竞争条件,从非特权客户机实现主机内核代码执行。
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。