CVE-2024-38384·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: blk-cgroup: fix list corruption from reorder of WRITE ->lqueued __blkcg_rstat_flush() can be run anytime, especially when blk_cgroup_bio_start is being executed. If WRITE of `->lqueued` is re-ordered with READ of 'bisc->lnode.next' in the loop of __blkcg_rstat_flush(), `next_bisc` can be assigned with one stat instance being added in blk_cgroup_bio_start(), then the local list in __blkcg_rstat_flush() could be corrupted. Fix the issue by adding one barrier.
- Severity
- high
- Software
- Kernel
- Fixed in
- 6.9.4
- Published
- 2024-06-24
Affected versions
From: 6.7
Until: 6.9.4
Fixed in: 6.9.4
How to fix this CVE
Update your Linux kernel to version 6.9.4 or later to resolve a critical memory ordering issue in the block I/O cgroup subsystem that can cause list corruption during concurrent stat collection operations. Systems running kernel versions 6.7 through 6.9.3 should prioritize this patch to prevent potential data structure corruption that could lead to kernel instability or unexpected behavior.
sudo dnf update kernel kernel-develDefensia detects this vulnerability
How to check if you are affected
- Step 1: Check installed kernel version with `uname -r` and compare against 6.9.4; vulnerable if between 6.7 and 6.9.3
- Step 2: Verify blk-cgroup is active by checking `cat /proc/cgroups | grep blkio` for non-zero entries
- Step 3: Search kernel logs for blk-cgroup related errors using `dmesg | grep -i 'blk.*cgroup\|list.*corrupt'` or `journalctl -k | grep -i 'blk.*cgroup'`
- Step 4: After patching, confirm new kernel version with `uname -r` shows 6.9.4 or later and reboot if necessary
FAQ
What is CVE-2024-38384?
This vulnerability is a race condition in the Linux kernel's block I/O cgroup statistics subsystem where concurrent read and write operations on linked list pointers can be reordered, causing list structure corruption and potential kernel instability.
Is CVE-2024-38384 being actively exploited?
No, there is no evidence of active exploitation in the wild, and no public exploits are available. This is primarily a reliability and data structure integrity issue rather than a direct security vulnerability.
What versions of Kernel are affected by CVE-2024-38384?
Linux kernel versions 6.7 through 6.9.3 are affected. The vulnerability was resolved in kernel 6.9.4 and later.
How do I check if my server is vulnerable to CVE-2024-38384?
Run `uname -r` and if the output shows a kernel version between 6.7 and 6.9.3 (inclusive), your system is vulnerable. Additionally verify block cgroup usage with `cat /proc/cgroups | grep blkio`.
Does Defensia detect CVE-2024-38384?
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-38384 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/714e59b5456e4d6e4295a9968c564abe193f461c
- https://git.kernel.org/stable/c/785298ab6b802afa75089239266b6bbea590809c
- https://git.kernel.org/stable/c/d0aac2363549e12cc79b8e285f13d5a9f42fd08e
- https://git.kernel.org/stable/c/714e59b5456e4d6e4295a9968c564abe193f461c
- https://git.kernel.org/stable/c/785298ab6b802afa75089239266b6bbea590809c
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2024-38384. Free for 1 server.
Get started free