CVE-2024-46845 tracing/timerlat: Only clear timer if a kthread exists
A use-after-free in the Linux kernel timerlat tracer allows local attackers to potentially execute code or escalate privileges via race conditions during thread shutdown.
- 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-2024-46845?
CVE-2024-46845 is a high-severity use after free vulnerability in Linux kernel, published on 27 Sep 2024. 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:
tracing/timerlat: Only clear timer if a kthread exists
The timerlat tracer can use user space threads to check for osnoise and timer latency. If the program using this is killed via a SIGTERM, the threads are shutdown one at a time and another tracing instance can start up resetting the threads before they are fully closed. That causes the hrtimer assigned to the kthread to be shutdown and freed twice when the dying thread finally closes the file descriptors, causing a use-after-free bug.
Only cancel the hrtimer if the associated thread is still around. Also add the interface_lock around the resetting of the tlat_var->kthread.
Note, this is just a quick fix that can be backported to stable. A real fix is to have a better synchronization between the shutdown of old threads and the starting of new ones.
Weakness: CWE-416
Which versions are affected by CVE-2024-46845?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2024-46845?
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-2024-46845 being exploited?
There is no known exploitation of CVE-2024-46845 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as BELL-CVE-2024-46845, DEBIAN-CVE-2024-46845, GHSA-gvp7-4cxg-vpqq, UBUNTU-CVE-2024-46845.