๐Ÿ” CVE Alert

CVE-2026-31555

UNKNOWN 0.0

futex: Clear stale exiting pointer in futex_lock_pi() retry path

CVSS Score
0.0
EPSS Score
0.0%
EPSS Percentile
0th

In the Linux kernel, the following vulnerability has been resolved: futex: Clear stale exiting pointer in futex_lock_pi() retry path Fuzzying/stressing futexes triggered: WARNING: kernel/futex/core.c:825 at wait_for_owner_exiting+0x7a/0x80, CPU#11: futex_lock_pi_s/524 When futex_lock_pi_atomic() sees the owner is exiting, it returns -EBUSY and stores a refcounted task pointer in 'exiting'. After wait_for_owner_exiting() consumes that reference, the local pointer is never reset to nil. Upon a retry, if futex_lock_pi_atomic() returns a different error, the bogus pointer is passed to wait_for_owner_exiting(). CPU0 CPU1 CPU2 futex_lock_pi(uaddr) // acquires the PI futex exit() futex_cleanup_begin() futex_state = EXITING; futex_lock_pi(uaddr) futex_lock_pi_atomic() attach_to_pi_owner() // observes EXITING *exiting = owner; // takes ref return -EBUSY wait_for_owner_exiting(-EBUSY, owner) put_task_struct(); // drops ref // exiting still points to owner goto retry; futex_lock_pi_atomic() lock_pi_update_atomic() cmpxchg(uaddr) *uaddr ^= WAITERS // whatever // value changed return -EAGAIN; wait_for_owner_exiting(-EAGAIN, exiting) // stale WARN_ON_ONCE(exiting) Fix this by resetting upon retry, essentially aligning it with requeue_pi.

Vendor linux
Product linux
Ecosystems
Industries
Technology
Published Apr 24, 2026
Stay Ahead of the Next One

Get instant alerts for linux linux

Be the first to know when new unknown vulnerabilities affecting linux linux are published โ€” delivered to Slack, Telegram or Discord.

Get Free Alerts โ†’ Free ยท No credit card ยท 60 sec setup

Affected Versions

Linux / Linux
3ef240eaff36b8119ac9e2ea17cbf41179c930ba < 33095ae3bdde5e5c264d7e88a2f3e7703a26c7aa 3ef240eaff36b8119ac9e2ea17cbf41179c930ba < e7824ec168d2ac883a213cd1f4d6cc0816002a85 3ef240eaff36b8119ac9e2ea17cbf41179c930ba < 5e8e06bf8909e79b4acd950cf578cfc2f10bbefa 3ef240eaff36b8119ac9e2ea17cbf41179c930ba < de7c0c04ad868f2cee6671b11c0a6d20421af1da 3ef240eaff36b8119ac9e2ea17cbf41179c930ba < 7475dfad10a05a5bfadebf5f2499bd61b19ed293 3ef240eaff36b8119ac9e2ea17cbf41179c930ba < 92e47ad03e03dbb5515bdf06444bf6b1e147310d 3ef240eaff36b8119ac9e2ea17cbf41179c930ba < 71112e62807d1925dc3ae6188b11f8cfc85aec23 3ef240eaff36b8119ac9e2ea17cbf41179c930ba < 210d36d892de5195e6766c45519dfb1e65f3eb83 f2a9957e5c08b1b1caacd18a3dc4c0a1bdb7b463 cf16e42709aa86aa3e37f3acc3d13d5715d90096 61fa9f167caaa73d0a7c88f498eceeb12c6fa3db 7874eee0130adf9bee28e8720bb5dd051089def3 fc3b55ef2c840bb2746b2d8121a0788de84f7fac
Linux / Linux
5.5

References

NVD โ†— CVE.org โ†— EPSS Data โ†—
git.kernel.org: https://git.kernel.org/stable/c/33095ae3bdde5e5c264d7e88a2f3e7703a26c7aa git.kernel.org: https://git.kernel.org/stable/c/e7824ec168d2ac883a213cd1f4d6cc0816002a85 git.kernel.org: https://git.kernel.org/stable/c/5e8e06bf8909e79b4acd950cf578cfc2f10bbefa git.kernel.org: https://git.kernel.org/stable/c/de7c0c04ad868f2cee6671b11c0a6d20421af1da git.kernel.org: https://git.kernel.org/stable/c/7475dfad10a05a5bfadebf5f2499bd61b19ed293 git.kernel.org: https://git.kernel.org/stable/c/92e47ad03e03dbb5515bdf06444bf6b1e147310d git.kernel.org: https://git.kernel.org/stable/c/71112e62807d1925dc3ae6188b11f8cfc85aec23 git.kernel.org: https://git.kernel.org/stable/c/210d36d892de5195e6766c45519dfb1e65f3eb83