CVE Catalog

CVE-2026-98788

Low risk· EPSS 4%
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.16%

4th percentile - higher than 4% of all known CVEs

Summary

In the Linux kernel futex subsystem, a use-after-free flaw exists related to private hash resizing. The __futex_pivot_hash() function sets mmph->batches before assigning mmph->hash, allowing futex_ref_drop() to move forward while a reader still holds a pointer to the old hash.

Risk Assessment

A use-after-free in the futex subsystem can lead to memory corruption, kernel crashes, or potential privilege escalation by a local attacker.

Recommendation

Update the Linux kernel to a version containing the fix that sets mmph->batches after assigning mmph->hash.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: futex: Fix private hash use-after-free on resize poll_state_synchronize_rcu(mm->futex.phash.batches) is used by futex_ref_drop() to check that a grace period has passed since the current hash was published. This relies on batches referencing a grace period which started after the hash pointer was assigned. __futex_pivot_hash() sets mmph->batches before it replaces mmph->hash: scoped_guard(rcu) { mmph->batches = get_state_synchronize_rcu(); rcu_assign_pointer(mmph->hash, new); } The scoped_guard(rcu) doesn't stop new grace periods from starting, and if one starts between those two assignments, futex_ref_drop() can move forward while a reader still holds a pointer to the old hash. Fix things by setting mmph->batches after assigning mmph->hash. The scoped_guard(rcu) isn't needed, so let's drop that as well.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS