CVE-2023-53815
Description
In the Linux kernel, the following vulnerability has been resolved:
posix-timers: Prevent RT livelock in itimer_delete()
itimer_delete() has a retry loop when the timer is concurrently expired. On non-RT kernels this just spin-waits until the timer callback has completed, except for posix CPU timers which have HAVE_POSIX_CPU_TIMERS_TASK_WORK enabled.
In that case and on RT kernels the existing task could live lock when preempting the task which does the timer delivery.
Replace spin_unlock() with an invocation of timer_wait_running() to handle it the same way as the other retry loops in the posix timer code.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
A spin-wait retry loop in Linux kernel's itimer_delete() can cause an RT livelock when the task is preempted by a concurrent timer expiry, leading to denial of service.
Vulnerability
Description The vulnerability resides in the itimer_delete() function in the Linux kernel's posix-timer subsystem. When a timer expires concurrently with a delete operation, the function enters a retry loop that spin-waits for the timer callback to complete. On non-RT kernels, this just burns CPU cycles, but on RT kernels and for certain CPU timers using HAVE_POSIX_CPU_TIMERS_TASK_WORK, the waiting task can be preempted by the task delivering the timer, leading to a livelock where neither task makes progress indefinitely [1][3].
Exploitation
Conditions An attacker would need the ability to cause a concurrent timer expiry and delete operation on the same timer, likely through crafted user-space code that creates and quickly deletes posix timers. On RT kernels, the preemption model makes the livelock more easily triggered. No special privileges beyond the ability to create and delete timers are required, though kernel preemption must be enabled [2].
Impact
Successful exploitation results in a denial of service (DoS) on the affected system, as the livelock prevents the timer from being deleted and blocks progress of the calling task. This can render the system unresponsive or significantly degrade performance. The vulnerability does not allow arbitrary code execution or privilege escalation; it is strictly a DoS issue.
Mitigation
The fix replaces the simple spin_unlock() in the retry loop with a call to timer_wait_running(), which properly sleeps until the timer callback completes, avoiding the livelock. The patch has been applied to the mainline kernel and backported to stable releases [3]. Users should update to a kernel version containing the commit (e.g., commit f9bd298e3e4d). No known workarounds exist beyond applying the patch.
AI Insight generated on May 19, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected products
2Patches
6f1be1ed32daa0670c4c567b2e7aff15ba29bf9bd298e3e4dc1968bb8a2869d9e522010ebVulnerability mechanics
Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
6- git.kernel.org/stable/c/0670c4c567b27bd8f999a943028f4fe60d1a1106nvd
- git.kernel.org/stable/c/9d9e522010eb5685d8b53e8a24320653d9d4cbbfnvd
- git.kernel.org/stable/c/c1968bb8a28625cc95d2ad3ca872ab98c9c36d59nvd
- git.kernel.org/stable/c/e7aff15ba29ba4b3052786b1636fa5c4aa39e179nvd
- git.kernel.org/stable/c/f1be1ed32daa053484222f7f9beb2b16c624dffdnvd
- git.kernel.org/stable/c/f9bd298e3e4d3fd6e19f017789a42d0f332cd555nvd
News mentions
0No linked articles in our index yet.