{"id":"CVE-2026-31555","title":"In the Linux kernel, the following vulnerability has been resolved:\n\nfutex: Clear stale exiting pointer in futex_lock_pi() retry path\n\nFuzzying/stressing futexes triggered:\n\n    WARNING: kernel/futex/core.c:825 at wait_for_owner_exiting+…","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\nfutex: Clear stale exiting pointer in futex_lock_pi() retry path\n\nFuzzying/stressing futexes triggered:\n\n    WARNING: kernel/futex/core.c:825 at wait_for_owner_exiting+…","severity":"medium","cvss":5.5,"cvssVector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","cwe":["CWE-825"],"vendor":"linux","product":"linux_kernel","affected":["linux_kernel >= 4.4.255, < 4.5","linux_kernel >= 4.9.255, < 4.10","linux_kernel >= 4.14.158, < 4.15","linux_kernel >= 4.19.172, < 4.20","linux_kernel >= 5.4.1, < 5.5","linux_kernel >= 5.5.1, < 5.10.253","linux_kernel >= 5.11, < 5.15.203","linux_kernel >= 5.16, < 6.1.168","linux_kernel >= 6.2, < 6.6.131","linux_kernel >= 6.7, < 6.12.80","linux_kernel >= 6.13, < 6.18.21","linux_kernel >= 6.19, < 6.19.11","linux_kernel = 5.5","linux_kernel = 7.0"],"patched":["linux_kernel 6.19.11"],"published":"2026-04-24","updated":"2026-10-15","sourceUpdated":"2026-10-15T02:19:11.080","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-31555","references":[{"url":"https://git.kernel.org/stable/c/210d36d892de5195e6766c45519dfb1e65f3eb83","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/33095ae3bdde5e5c264d7e88a2f3e7703a26c7aa","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/5e8e06bf8909e79b4acd950cf578cfc2f10bbefa","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/71112e62807d1925dc3ae6188b11f8cfc85aec23","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/7475dfad10a05a5bfadebf5f2499bd61b19ed293","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/92e47ad03e03dbb5515bdf06444bf6b1e147310d","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/de7c0c04ad868f2cee6671b11c0a6d20421af1da","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/e7824ec168d2ac883a213cd1f4d6cc0816002a85","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://cert-portal.siemens.com/productcert/html/ssa-019113.html","label":"0b142b55-0307-4c5a-b3c9-f314f3fb7c5e"},{"url":"https://cert-portal.siemens.com/productcert/html/ssa-082556.html","label":"0b142b55-0307-4c5a-b3c9-f314f3fb7c5e"},{"url":"https://cert-portal.siemens.com/productcert/html/ssa-457936.html","label":"0b142b55-0307-4c5a-b3c9-f314f3fb7c5e"},{"url":"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-31555.json"},{"url":"https://access.redhat.com/security/cve/CVE-2026-31555"},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2461473"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-31555"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-31555"},{"url":"https://lore.kernel.org/linux-cve-announce/2026042456-CVE-2026-31555-ba94@gregkh/T"},{"url":"https://access.redhat.com/errata/RHSA-2026:51035"}],"tags":["nvd","csaf","vex","red-hat","cve.org"],"epss":0.00129,"epssPercentile":0.02501,"ingestedAt":"2026-09-08T15:33:26.990Z","slug":"CVE-2026-31555","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\nfutex: Clear stale exiting pointer in futex_lock_pi() retry path\n\nFuzzying/stressing futexes triggered:\n\n    WARNING: kernel/futex/core.c:825 at wait_for_owner_exiting+0x7a/0x80, CPU#11: futex_lock_pi_s/524\n\nWhen futex_lock_pi_atomic() sees the owner is exiting, it returns -EBUSY\nand stores a refcounted task pointer in 'exiting'.\n\nAfter wait_for_owner_exiting() consumes that reference, the local pointer\nis never reset to nil. Upon a retry, if futex_lock_pi_atomic() returns a\ndifferent error, the bogus pointer is passed to wait_for_owner_exiting().\n\n  CPU0\t\t\t     CPU1\t\t       CPU2\n  futex_lock_pi(uaddr)\n  // acquires the PI futex\n  exit()\n    futex_cleanup_begin()\n      futex_state = EXITING;\n\t\t\t     futex_lock_pi(uaddr)\n\t\t\t       futex_lock_pi_atomic()\n\t\t\t\t attach_to_pi_owner()\n\t\t\t\t   // observes EXITING\n\t\t\t\t   *exiting = owner;  // takes ref\n\t\t\t\t   return -EBUSY\n\t\t\t       wait_for_owner_exiting(-EBUSY, owner)\n\t\t\t\t put_task_struct();   // drops ref\n\t\t\t       // exiting still points to owner\n\t\t\t       goto retry;\n\t\t\t       futex_lock_pi_atomic()\n\t\t\t\t lock_pi_update_atomic()\n\t\t\t\t   cmpxchg(uaddr)\n\t\t\t\t\t*uaddr ^= WAITERS // whatever\n\t\t\t\t   // value changed\n\t\t\t\t return -EAGAIN;\n\t\t\t       wait_for_owner_exiting(-EAGAIN, exiting) // stale\n\t\t\t\t WARN_ON_ONCE(exiting)\n\nFix this by resetting upon retry, essentially aligning it with requeue_pi.\n\n## Affected\n\n- `linux_kernel >= 4.4.255, < 4.5`\n- `linux_kernel >= 4.9.255, < 4.10`\n- `linux_kernel >= 4.14.158, < 4.15`\n- `linux_kernel >= 4.19.172, < 4.20`\n- `linux_kernel >= 5.4.1, < 5.5`\n- `linux_kernel >= 5.5.1, < 5.10.253`\n- `linux_kernel >= 5.11, < 5.15.203`\n- `linux_kernel >= 5.16, < 6.1.168`\n- `linux_kernel >= 6.2, < 6.6.131`\n- `linux_kernel >= 6.7, < 6.12.80`\n- `linux_kernel >= 6.13, < 6.18.21`\n- `linux_kernel >= 6.19, < 6.19.11`\n- `linux_kernel = 5.5`\n- `linux_kernel = 7.0`\n\n## Remediation\n\nUpgrade past the affected range:\n\n- `linux_kernel 6.19.11`\n\n## Vendor advisories\n\n- **RHSA-2026:51035** · Red Hat · fixed in: Red Hat Enterprise Linux AppStream (v. 9), Red Hat Enterprise Linux BaseOS (v. 9), Red Hat Enterprise Linux CodeReady Linux Builder (v. 9), Red Hat Enterprise Linux Real Time for NFV (v. 9), Red Hat Enterprise Linux Real Time (v. 9) · released 2026-08-06 · [advisory](https://access.redhat.com/errata/RHSA-2026:51035)\n- **Red Hat VEX** · Moderate · affected: Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 7, Red Hat Enterprise Linux 8, Red Hat Enterprise Linux 9 · no fix planned: Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 7, Red Hat Enterprise Linux 8, Red Hat Enterprise Linux 9 · updated 2026-09-15 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-31555.json)","depth":"sunlit","depthScore":30,"depthScoreParts":{"impact":30.3,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[{"seq":205508,"id":"CVE-2026-31555","ts":1789576722579,"field":"cvss","old":null,"new":"5.5"},{"seq":205507,"id":"CVE-2026-31555","ts":1789576722579,"field":"severity","old":"none","new":"medium"}]}