Description
In the Linux kernel, the following vulnerability has been resolved:

rtmutex: Use waiter::task instead of current in remove_waiter()

remove_waiter() is used by the slowlock paths, but it is also used for
proxy-lock rollback in rt_mutex_start_proxy_lock() when invoked from
futex_requeue().

In the latter case waiter::task is not current, but remove_waiter()
operates on current for the dequeue operation. That results in several
problems:

1) the rbtree dequeue happens without waiter::task::pi_lock being held

2) the waiter task's pi_blocked_on state is not cleared, which leaves a
dangling pointer primed for UAF around.

3) rt_mutex_adjust_prio_chain() operates on the wrong top priority waiter
task

Use waiter::task instead of current in all related operations in
remove_waiter() to cure those problems.

[ tglx: Fixup rt_mutex_adjust_prio_chain(), add a comment and amend the
changelog ]
Published: 2026-05-21
Score: n/a
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

In the Linux kernel, the function remove_waiter() incorrectly used the current task pointer instead of the waiter task pointer during certain lock paths. This caused synchronization errors in the rbtree, left a dangling pi_blocked_on pointer, and made rt_mutex_adjust_prio_chain() act on the wrong task. The resulting use‑after‑free can lead to kernel memory corruption, crashes, or arbitrary code execution with elevated privileges.

Affected Systems

The flaw affects the Linux kernel itself. All builds that contain the unpatched rt_mutex implementation—including mainstream distributions and custom kernels—are vulnerable until the upstream patch is applied. No specific version range is listed; therefore any kernel still running the buggy code is at risk.

Risk and Exploitability

No EPSS score is available and the vulnerability is not currently listed in the CISA KEV catalog. The CVSS score is unspecified, but the presence of a use‑after‑free in kernel synchronization logic suggests high severity. Exploitation would require a local attacker with the ability to trigger the faulty futex or proxy‑lock path, which typically involves running code on the impacted system. Because the fault can crash the kernel or be leveraged for privilege escalation, the risk warrants immediate remediation.

Generated by OpenCVE AI on May 21, 2026 at 13:21 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the Linux kernel update that contains the rt_mutex remove_waiter() patch and reboot to load the corrected code
  • After upgrading, re‑apply any system services that restarted due to the kernel upgrade and verify that no new kernel panics or lock‑related warnings appear in the logs
  • If patch deployment is delayed, isolate vulnerable hosts and restrict local execution of trusted futex or proxy‑lock operations by controlling service‑level access and monitoring for abnormal mutex activity

Generated by OpenCVE AI on May 21, 2026 at 13:21 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 21 May 2026 13:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Thu, 21 May 2026 12:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: rtmutex: Use waiter::task instead of current in remove_waiter() remove_waiter() is used by the slowlock paths, but it is also used for proxy-lock rollback in rt_mutex_start_proxy_lock() when invoked from futex_requeue(). In the latter case waiter::task is not current, but remove_waiter() operates on current for the dequeue operation. That results in several problems: 1) the rbtree dequeue happens without waiter::task::pi_lock being held 2) the waiter task's pi_blocked_on state is not cleared, which leaves a dangling pointer primed for UAF around. 3) rt_mutex_adjust_prio_chain() operates on the wrong top priority waiter task Use waiter::task instead of current in all related operations in remove_waiter() to cure those problems. [ tglx: Fixup rt_mutex_adjust_prio_chain(), add a comment and amend the changelog ]
Title rtmutex: Use waiter::task instead of current in remove_waiter()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-05-21T12:17:49.281Z

Reserved: 2026-05-01T14:12:56.014Z

Link: CVE-2026-43499

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-05-21T13:16:19.300

Modified: 2026-05-21T13:16:19.300

Link: CVE-2026-43499

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-05-21T14:15:13Z

Weaknesses