CVE-2024-41051·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: cachefiles: wait for ondemand_object_worker to finish when dropping object When queuing ondemand_object_worker() to re-open the object, cachefiles_object is not pinned. The cachefiles_object may be freed when the pending read request is completed intentionally and the related erofs is umounted. If ondemand_object_worker() runs after the object is freed, it will incur use-after-free problem as shown below. process A processs B process C process D cachefiles_ondemand_send_req() // send a read req X // wait for its completion // close ondemand fd cachefiles_ondemand_fd_release() // set object as CLOSE cachefiles_ondemand_daemon_read() // set object as REOPENING queue_work(fscache_wq, &info->ondemand_work) // close /dev/cachefiles cachefiles_daemon_release cachefiles_flush_reqs complete(&req->done) // read req X is completed // umount the erofs fs cachefiles_put_object() // object will be freed cachefiles_ondemand_deinit_obj_info() kmem_cache_free(object) // both info and object are freed ondemand_object_worker() When dropping an object, it is no longer necessary to reopen the object, so use cancel_work_sync() to cancel or wait for ondemand_object_worker() to finish.
- Severity
- high
- Software
- Kernel
- Fixed in
- 6.9.10
- Published
- 2024-07-29
Affected versions
From: 6.8
Until: 6.9.10
Fixed in: 6.9.10
How to fix this CVE
Update your Linux kernel to version 6.9.10 or later to resolve this use-after-free vulnerability in the cachefiles subsystem. The vulnerability occurs when the kernel fails to properly synchronize worker threads during object cleanup, leading to memory corruption. Ensure your system is rebooted after applying the kernel update to activate the patched version.
sudo dnf update kernel kernel-develDefensia detects this vulnerability
How to check if you are affected
- Check installed kernel version: uname -r — compare against 6.9.10 or later; versions 6.8.x through 6.9.9 are vulnerable
- Verify if cachefiles module is loaded: lsmod | grep cachefiles — if present, the vulnerable code path may be active
- Check system logs for kernel panics or use-after-free warnings: sudo dmesg | grep -i 'use-after-free\|uaf\|cachefiles' or journalctl -b | grep -i cachefiles
- Confirm patch applied after update: uname -r should show version 6.9.10 or higher; verify with cat /proc/version
FAQ
What is CVE-2024-41051?
CVE-2024-41051 is a use-after-free vulnerability in the Linux kernel's cachefiles subsystem where worker threads may access freed memory objects if the cleanup process doesn't properly synchronize thread completion, potentially leading to kernel crashes or memory corruption.
Is CVE-2024-41051 being actively exploited?
No, CVE-2024-41051 is not listed as actively exploited in the CISA Known Exploited Vulnerabilities catalog, and no public exploits are currently available.
What versions of Kernel are affected by CVE-2024-41051?
Linux kernel versions 6.8 through 6.9.9 are vulnerable; version 6.9.10 and later contain the fix.
How do I check if my server is vulnerable to CVE-2024-41051?
Run uname -r to display your kernel version; if the output shows 6.8.x, 6.9.0 through 6.9.9, your system is vulnerable and requires an update.
Does Defensia detect CVE-2024-41051?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If the Linux kernel is installed on a monitored server, CVE-2024-41051 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/12e009d60852f7bce0afc373ca0b320f14150418
- https://git.kernel.org/stable/c/b26525b2183632f16a3a4108fe6a4bfa8afac6ed
- https://git.kernel.org/stable/c/d3179bae72b1b5e555ba839d6d9f40a350a4d78a
- https://git.kernel.org/stable/c/ec9289369259d982e735a71437e32e6b4035290c
- https://git.kernel.org/stable/c/12e009d60852f7bce0afc373ca0b320f14150418
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2024-41051. Free for 1 server.
Get started free