In the Linux kernel, the following vulnerability has been resolved: futex: Drop CLONE_THREAD...
🔗 CVE IDs covered (1)
📋 Description
In the Linux kernel, the following vulnerability has been resolved:
futex: Drop CLONE_THREAD requirement for private default hash alloc
Currently need_futex_hash_allocate_default() depends on strict pthread semantics, abusing CLONE_THREAD. This breaks the non-concurrency assumptions when doing the mm->futex_ref pcpu allocations, leading to bugs[0] when sharing the mm in other ways; ie:
BUG: KASAN: slab-use-after-free in futex_hash_put
... where the +1 bias can end up on a percpu counter that mm->futex_ref no longer points at.
Loosen the check to cover any CLONE_VM clone, except vfork(). Excluding vfork keeps the existing paths untouched (no overhead), and we can't race in the first place: either the parent is suspended and the child runs alone, or mm->futex_ref is already allocated from an earlier CLONE_VM.
🔗 References (5)
- https://nvd.nist.gov/vuln/detail/CVE-2026-52973
- https://git.kernel.org/stable/c/1dcd36420af2da5bd59306dba9caf78e3d248b1d
- https://git.kernel.org/stable/c/974ac49a9a068b0591a59f65c63eb06579a13091
- https://git.kernel.org/stable/c/ee9dce44362b2d8132c32964656ab6dff7dfbc6a
- https://github.com/advisories/GHSA-9qj4-wr4g-7m6f