---
id: CVE-2026-31555
title: |-
  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+…
summary: |-
  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+…
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'
---

## Overview

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.

## 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`

## Remediation

Upgrade past the affected range:

- `linux_kernel 6.19.11`

## Vendor advisories

- **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)
- **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)
