CVE-2024-38384 blk-cgroup: fix list corruption from reorder of WRITE ->lqueued
A race condition in the Linux kernel block cgroup subsystem can cause list corruption, potentially leading to a denial of service.
- 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-38384?
CVE-2024-38384 is a high-severity vulnerability in Linux kernel, published on 24 Jun 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:
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.
Weakness: CWE-400
Which versions are affected by CVE-2024-38384?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2024-38384?
Apply the vendor's patch.
Is CVE-2024-38384 being exploited?
There is no known exploitation of CVE-2024-38384 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as BELL-CVE-2024-38384, DEBIAN-CVE-2024-38384, GHSA-q35c-jr5r-prg7, UBUNTU-CVE-2024-38384.