CVE-2024-38384 blk-cgroup: fix list corruption from reorder of WRITE ->lqueued

High 7.8 Published Updated

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.

All Linux kernel vulnerabilities

Sources

Also known as BELL-CVE-2024-38384, DEBIAN-CVE-2024-38384, GHSA-q35c-jr5r-prg7, UBUNTU-CVE-2024-38384.

Is CVE-2024-38384 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free