CVE-2026-43499 rtmutex: Use waiter::task instead of current in remove_waiter()

High 7.8 Published Updated

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:6All versions0:2.6.32-754.62.1.el6
kernel-abi-whitelists Red Hat:rhel_els:6All versions0:2.6.32-754.62.1.el6
kernel-debug Red Hat:rhel_els:6All versions0:2.6.32-754.62.1.el6
kernel-debug-debuginfo Red Hat:rhel_els:6All versions0:2.6.32-754.62.1.el6
kernel-debug-devel Red Hat:rhel_els:6All versions0:2.6.32-754.62.1.el6
kernel-debuginfo Red Hat:rhel_els:6All versions0:2.6.32-754.62.1.el6
kernel-debuginfo-common-i686 Red Hat:rhel_els:6All versions0:2.6.32-754.62.1.el6
kernel-debuginfo-common-s390x Red Hat:rhel_els:6All versions0:2.6.32-754.62.1.el6
kernel-debuginfo-common-x86_64 Red Hat:rhel_els:6All versions0:2.6.32-754.62.1.el6
kernel-devel Red Hat:rhel_els:6All versions0:2.6.32-754.62.1.el6
kernel-doc Red Hat:rhel_els:6All versions0:2.6.32-754.62.1.el6
kernel-firmware Red Hat:rhel_els:6All versions0:2.6.32-754.62.1.el6
kernel-kdump Red Hat:rhel_els:6All versions0:2.6.32-754.62.1.el6
kernel-kdump-debuginfo Red Hat:rhel_els:6All versions0:2.6.32-754.62.1.el6
kernel-kdump-devel Red Hat:rhel_els:6All versions0:2.6.32-754.62.1.el6
perf Red Hat:rhel_els:6All versions0:2.6.32-754.62.1.el6
perf-debuginfo Red Hat:rhel_els:6All versions0:2.6.32-754.62.1.el6
python-perf Red Hat:rhel_els:6All versions0:2.6.32-754.62.1.el6
python-perf-debuginfo Red Hat:rhel_els:6All versions0: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.

All Linux kernel vulnerabilities

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.

Is CVE-2026-43499 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free