CVE-2026-43499 rtmutex: Use waiter::task instead of current in remove_waiter()
A use-after-free vulnerability in the Linux kernel's rtmutex subsystem allows attackers to execute arbitrary code or escalate privileges via futex requeue operations.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-43499?
CVE-2026-43499 is a high-severity use after free vulnerability in Linux kernel, published on 21 May 2026. It can only be exploited from the same machine or local network, with no action from the victim.
Official 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 ]
Weakness: CWE-416
Which versions are affected by CVE-2026-43499?
It affects 1 product.
Linux distribution packages (19)
kernel Red Hat:rhel_els:6 | All versions | 0:2.6.32-754.62.1.el6 |
kernel-abi-whitelists Red Hat:rhel_els:6 | All versions | 0:2.6.32-754.62.1.el6 |
kernel-debug Red Hat:rhel_els:6 | All versions | 0:2.6.32-754.62.1.el6 |
kernel-debug-debuginfo Red Hat:rhel_els:6 | All versions | 0:2.6.32-754.62.1.el6 |
kernel-debug-devel Red Hat:rhel_els:6 | All versions | 0:2.6.32-754.62.1.el6 |
kernel-debuginfo Red Hat:rhel_els:6 | All versions | 0:2.6.32-754.62.1.el6 |
kernel-debuginfo-common-i686 Red Hat:rhel_els:6 | All versions | 0:2.6.32-754.62.1.el6 |
kernel-debuginfo-common-s390x Red Hat:rhel_els:6 | All versions | 0:2.6.32-754.62.1.el6 |
kernel-debuginfo-common-x86_64 Red Hat:rhel_els:6 | All versions | 0:2.6.32-754.62.1.el6 |
kernel-devel Red Hat:rhel_els:6 | All versions | 0:2.6.32-754.62.1.el6 |
kernel-doc Red Hat:rhel_els:6 | All versions | 0:2.6.32-754.62.1.el6 |
kernel-firmware Red Hat:rhel_els:6 | All versions | 0:2.6.32-754.62.1.el6 |
kernel-kdump Red Hat:rhel_els:6 | All versions | 0:2.6.32-754.62.1.el6 |
kernel-kdump-debuginfo Red Hat:rhel_els:6 | All versions | 0:2.6.32-754.62.1.el6 |
kernel-kdump-devel Red Hat:rhel_els:6 | All versions | 0:2.6.32-754.62.1.el6 |
perf Red Hat:rhel_els:6 | All versions | 0:2.6.32-754.62.1.el6 |
perf-debuginfo Red Hat:rhel_els:6 | All versions | 0:2.6.32-754.62.1.el6 |
python-perf Red Hat:rhel_els:6 | All versions | 0:2.6.32-754.62.1.el6 |
python-perf-debuginfo Red Hat:rhel_els:6 | All versions | 0:2.6.32-754.62.1.el6 |
Products include Linux kernel.
How do I fix CVE-2026-43499?
Apply the vendor's patch.
Upgrade to the fixed version. These bugs are found with fuzzing and sanitisers and avoided by memory-safe languages. More about Use after free.
Is CVE-2026-43499 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-43499 exists.
Public exploit code: 179 proofs of concept on GitHub.
Other vulnerabilities in Linux kernel
Sources
Also known as AZL-87066, BELL-CVE-2026-43499, DEBIAN-CVE-2026-43499, GHSA-cqc6-9f34-295v, RHSA-2026:41920, ROOT-OS-DEBIAN-11-CVE-2026-43499 and 4 more.