CVE Catalog

CVE-2026-43499

HighCVSS 7.8
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Elevated risk
0.77%

53th percentile - higher than 53% of all known CVEs

Summary

In the Linux kernel, the remove_waiter() function in rtmutex uses current instead of waiter::task, causing issues during proxy-lock rollback in rt_mutex_start_proxy_lock() called from futex_requeue(). This leads to missing pi_lock, uncleared pi_blocked_on state (UAF risk), and incorrect rt_mutex_adjust_prio_chain() behavior.

Risk Assessment

The risk includes potential system crashes, memory leaks, or privilege escalation via a dangling pointer (UAF) in lock operations.

Recommendation

Apply the Linux kernel patch that uses waiter::task instead of current in remove_waiter(), available in newer kernel versions.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

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 ]

Vulnerability data from NVD (NIST) · CISA KEV · EPSS