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.
CVSS breakdown
Affected products
- Linux / Linuxd9b05321e21e4b218de4ce8a590bf375f58b6346 – 1dcd36420af2da5bd59306dba9caf78e3d248b1d
- Linux / Linuxd9b05321e21e4b218de4ce8a590bf375f58b6346 – 974ac49a9a068b0591a59f65c63eb06579a13091
- Linux / Linuxd9b05321e21e4b218de4ce8a590bf375f58b6346 – ee9dce44362b2d8132c32964656ab6dff7dfbc6a
- Linux / Linux6.17 – 6.17
- Linux / Linux0 – 6.17
- Linux / Linux6.18.33 – 6.18.*
- Linux / Linux7.0.10 – 7.0.*
- Linux / Linux7.1 – *