What’s Vulnerable › Vulnerabilities
CVE-2026-23415: futex: Fix UaF between futex_key_to_node_opt() and vma_replace_policy()
- Severity: high (CVSS 7.8 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.2% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-04-02 · updated 2026-10-19
- Weakness: CWE-416
Description
In the Linux kernel, the following vulnerability has been resolved: futex: Fix UaF between futex_key_to_node_opt() and vma_replace_policy() During futex_key_to_node_opt() execution, vma->vm_policy is read under speculative mmap lock and RCU. Concurrently, mbind() may call vma_replace_policy() which frees the old mempolicy immediately via kmem_cache_free(). This creates a race where __futex_key_to_node() dereferences a freed mempolicy pointer, causing a use-after-free read of mpol->mode. [ 151.412631] BUG: KASAN: slab-use-after-free in __futex_key_to_node (kernel/futex/core.c:349) [ 151.414046] Read of size 2 at addr ffff888001c49634 by task e/87 [ 151.415969] Call Trace: [ 151.416732] __asan_load2 (mm/kasan/generic.c:271) [ 151.416777] __futex_key_to_node (kernel/futex/core.c:349) [ 151.416822] get_futex_key (kernel/futex/core.c:374 kernel/futex/core.c:386 kernel/futex/core.c:593) Fix by adding rcu to __mpol_put().
Affected products
- Linux kernel: from 6.16.1 before 6.18.21; from 6.19 before 6.19.11; 6.16, 7.0-rc1, 7.0-rc2, 7.0-rc3, 7.0-rc4, 7.0-rc5 (+2) — fixed in 6.18.21, 6.19.11
How to fix
Upgrade to a fixed version: Linux kernel 6.18.21, 6.19.11. Check the vendor advisory for mitigations.
References
- https://git.kernel.org/stable/c/190a8c48ff623c3d67cb295b4536a660db2012aa
- https://git.kernel.org/stable/c/7e196194ea27bd49adf3551e2aceb83498eb73fe
- https://git.kernel.org/stable/c/853f70c67d1b37e368fdcb3e328c4b8c04f53ac0
Get alerted when CVE-2026-23415 or the next vulnerability affects your stack