CVE-2026-23415Linux内核futex组件存在一处高危的释放后重用(UaF)漏洞。该漏洞源于`futex_key_to_node_opt()`在读取`vma->vm_policy`时,与`mbind()`调用`vma_replace_policy()`产生竞态。由于后者立即释放了旧的mempolicy,导致前者解引用悬空指针,读取`mpol->mode`。本地低权限攻击者可利用此漏洞触发内核崩溃或潜在的权限提升。
该漏洞是Linux内核中典型的并发竞态导致的释放后重用漏洞。具体场景发生在futex子系统与内存管理策略交互时。`futex_key_to_node_opt`函数在投机性mmap锁和RCU保护下访问`vma->vm_policy`。与此同时,`mbind`系统调用可能并发执行`vma_replace_policy`,并通过`kmem_cache_free`释放旧策略对象。由于缺乏足够的同步机制,`__futex_key_to_node`可能在对象释放后仍对其进行解引用读取,触发KASAN报错。虽然主要是读操作导致的UaF,但可能导致内核信息泄露或崩溃,配合其他技术可能实现本地提权。此漏洞的CVSS 3.1评分为7.8,属于高危级别。修复思路是在`__mpol_put`中引入RCU延迟释放机制,确保在RCU读临界区结束前内存不会被回收。