CVEvulnerability
CVE-2026-80778
- Status
- Received
- Published
- 2026-09-04
- Last modified
- 2026-10-19
- Assigner
- 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Description
In the Linux kernel, the following vulnerability has been resolved:
futex/pi: Reject cross-mm private futex owners
A private futex key borrows the waiter's mm without taking an mm_users
reference. Nevertheless, attach_to_pi_owner() currently accepts an owner
from a different address space and copies the private key into the owner's
PI state.
When that owner exits, exit_pi_state_list() uses the saved key to find the
hash bucket and acquires a reference to the waiter's private hash. If the
last user of the waiter's mm exits concurrently, futex_hash_free() frees
the hash while the owner still uses its bucket and reference.
Prevent this by validating in attach_to_pi_owner() that, for private
futexes, the owner mm and waiter mm are the same. Perform the check with
the owner's pi_lock held and after validating owner::futex::state to
serialize against a concurrent PI-state exit cleanup.
[ tglx: Amended comment ]
References
- https://git.kernel.org/stable/c/2b92e5562653b5293529f63b0300837d9dcedbd7 git.kernel.org
- https://git.kernel.org/stable/c/43b148d796aa338858792d0167cebdc12b8cb4b9 git.kernel.org
- https://git.kernel.org/stable/c/59b3732f95dda1fbd2234514d35f4fb6b5bb6d85 git.kernel.org
- https://git.kernel.org/stable/c/f7fb3e07752688842cbe0b85cf0d98c2fbf76b68 git.kernel.org