CVE-2026-90342 in Linux信息

摘要

由 VulDB • 2026-09-17

在 Linux 内核中,已修复以下漏洞:

bpf: 修复 arena 锁失败时的 mmap_lock 死锁问题

由 Sashiko AI 审查报告。

arena_vm_fault() 在无法获取 arena->spinlock 时返回 VM_FAULT_RETRY,但它从未持有 mmap_lock。故障处理路径假设 VM_FAULT_RETRY 处理器已经释放了 mmap_lock,并在重试时重新获取它,因此会导致 mmap_lock 被获取两次并引发死锁:

do_user_addr_fault() {
fault = handle_mm_fault(...); // 调用 arena_vm_fault() if (fault & VM_FAULT_RETRY) goto retry; // 重新锁定 mmap_lock mmap_read_unlock(mm); }

改为返回 VM_FAULT_SIGBUS,原因如下:

1. 我们可以保留 VM_FAULT_RETRY,但那样我们必须先释放故障锁并自行限制重试次数,就像 __folio_lock_or_retry() 所做的那样。

2. raw_res_spin_lock_irqsave() 失败已经意味着检测到了可能的死锁,因此重试只会再次遇到相同的锁。

因此,在此处返回 VM_FAULT_RETRY 是多余的(overkill)。

If you want to get best quality of vulnerability data, you may have to visit VulDB.

来源

Want to know what is going to be exploited?

We predict KEV entries!