CVE-2026-31555: Linux Kernel stale pointer in futex_lock_pi retry path

CVE-2026-31555 · Severity: medium · CVSS 5.5 · Published 2026-04-24

A vulnerability was identified in the Linux kernel's futex subsystem, which manages how different programs coordinate access to shared resources. Under specific conditions where a process is exiting while another tries to lock a resource, the system can encounter a memory error that causes a kernel warning or potential instability. This could be used by a local attacker to cause a system crash or denial-of-service, impacting the availability of the affected machine or industrial controller.

Technologies: Linux Kernel, Siemens SIMATIC S7-1500 CPU 1518-4 PN/DP MFP, Siemens SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP, Siemens SIPLUS S7-1500 CPU 1518-4 PN/DP MFP. Vendors: Linux, Siemens.

Quick answers

Is CVE-2026-31555 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-31555 being exploited in the wild.
How severe is CVE-2026-31555?
Medium severity, with a CVSS score of 5.5, published 24 April 2026.
Which products and versions are affected?
Linux Kernel All versions prior to the fix (including 5.x, 6.x); Siemens SIMATIC S7-1500 CPU 1518-4 PN/DP MFP V3.1.5, V3.1.6; Siemens SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP V3.1.5, V3.1.6; Siemens SIPLUS S7-1500 CPU 1518-4 PN/DP MFP V3.1.5, V3.1.6.
Is there a fix for CVE-2026-31555?
No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.
How is CVE-2026-31555 attacked?
It is attacked with local access, in an operating system.
Am I affected by CVE-2026-31555?
Check whether you run Linux Kernel, Siemens SIMATIC S7-1500 CPU 1518-4 PN/DP MFP, Siemens SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP or one of the others listed at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

Technical details

A vulnerability exists in the Linux kernel futex subsystem due to a stale pointer in the futex_lock_pi() retry path. When futex_lock_pi_atomic() detects an exiting owner, it returns -EBUSY and stores a refcounted task pointer in 'exiting'. If wait_for_owner_exiting() consumes the reference but the operation retries and subsequently returns a different error (like -EAGAIN), the 'exiting' pointer remains populated with a stale value. This stale pointer is then passed back into wait_for_owner_exiting(), triggering a kernel warning (WARN_ON_ONCE) and potential memory corruption or instability. The fix involves explicitly resetting the 'exiting' pointer to NULL at the start of the retry loop.

Affected products

  • Linux Linux Kernel All versions prior to the fix (including 5.x, 6.x)
  • Siemens SIMATIC S7-1500 CPU 1518-4 PN/DP MFP V3.1.5, V3.1.6
  • Siemens SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP V3.1.5, V3.1.6
  • Siemens SIPLUS S7-1500 CPU 1518-4 PN/DP MFP V3.1.5, V3.1.6

Timeline

  • 2026-03-25: other: Patch authored by Davidlohr Bueso
  • 2026-04-24: disclosed: CVE published

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.