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: 7.8 High
EPSS: < 1% Very Low
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

The EPSS score of < 1% and the vulnerability is not currently listed in the CISA KEV catalog. The CVSS score of 7.8, combined with the use‑after‑free in kernel synchronization logic, indicates a high severity risk. 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 30, 2026 at 14:39 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 30, 2026 at 14:39 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 01 Jun 2026 17:00:00 +0000


Sat, 30 May 2026 13:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Sat, 30 May 2026 11:00:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Fri, 22 May 2026 00:15:00 +0000


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-06-01T16:16:04.747Z

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

Link: CVE-2026-43499

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Awaiting Analysis

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

Modified: 2026-06-01T17:17:07.230

Link: CVE-2026-43499

cve-icon Redhat

Severity :

Publid Date: 2026-05-21T00:00:00Z

Links: CVE-2026-43499 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-05-30T14:45:25Z

Weaknesses
  • CWE-825

    Expired Pointer Dereference