CVE-2024-39482 bcache: fix variable length array abuse in btree_iter
A variable length array abuse in the Linux kernel bcache module can cause out-of-bounds indexing, leading to potential system instability or crashes.
- 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-39482?
CVE-2024-39482 is a high-severity memory corruption vulnerability in Linux kernel, published on 5 Jul 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:
bcache: fix variable length array abuse in btree_iter
btree_iter is used in two ways: either allocated on the stack with a fixed size MAX_BSETS, or from a mempool with a dynamic size based on the specific cache set. Previously, the struct had a fixed-length array of size MAX_BSETS which was indexed out-of-bounds for the dynamically-sized iterators, which causes UBSAN to complain.
This patch uses the same approach as in bcachefs's sort_iter and splits the iterator into a btree_iter with a flexible array member and a btree_iter_stack which embeds a btree_iter as well as a fixed-length data array.
Weakness: CWE-770
Which versions are affected by CVE-2024-39482?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2024-39482?
Apply the vendor's patch.
Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.
Is CVE-2024-39482 being exploited?
There is no known exploitation of CVE-2024-39482 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as AZL-43264, BELL-CVE-2024-39482, DEBIAN-CVE-2024-39482, GHSA-rp28-w34f-g6rm, UBUNTU-CVE-2024-39482.