CVE-2024-26773: ext4: avoid allocating blocks from corrupted group in ext4_mb_try_best_found()

Description

In the Linux kernel, the following vulnerability has been resolved:

ext4: avoid allocating blocks from corrupted group in ext4_mb_try_best_found()

Determine if the group block bitmap is corrupted before using ac_b_ex in
ext4_mb_try_best_found() to avoid allocating blocks from a group with a
corrupted block bitmap in the following concurrency and making the
situation worse.

ext4_mb_regular_allocator
ext4_lock_group(sb, group)
ext4_mb_good_group
// check if the group bbitmap is corrupted
ext4_mb_complex_scan_group
// Scan group gets ac_b_ex but doesn't use it
ext4_unlock_group(sb, group)
ext4_mark_group_bitmap_corrupted(group)
// The block bitmap was corrupted during
// the group unlock gap.
ext4_mb_try_best_found
ext4_lock_group(ac->ac_sb, group)
ext4_mb_use_best_found
mb_mark_used
// Allocating blocks in block bitmap corrupted group

Classification

CVE ID: CVE-2024-26773

Affected Products

Vendor: Linux

Product: Linux

Exploit Prediction Scoring System (EPSS)

EPSS Score: 0.04% (probability of being exploited)

EPSS Percentile: 15.26% (scored less or equal to compared to others)

EPSS Date: 2025-02-04 (when was this score calculated)

References

https://git.kernel.org/stable/c/21f8cfe79f776287459343e9cfa6055af61328ea
https://git.kernel.org/stable/c/260fc96283c0f594de18a1b045faf6d8fb42874d
https://git.kernel.org/stable/c/927794a02169778c9c2e7b25c768ab3ea8c1dc03
https://git.kernel.org/stable/c/4c21fa60a6f4606f6214a38f50612b17b2f738f5
https://git.kernel.org/stable/c/f97e75fa4e12b0aa0224e83fcbda8853ac2adf36
https://git.kernel.org/stable/c/0184747b552d6b5a14db3b7fcc3b792ce64dedd1
https://git.kernel.org/stable/c/a2576ae9a35c078e488f2c573e9e6821d651fbbe
https://git.kernel.org/stable/c/4530b3660d396a646aad91a787b6ab37cf604b53

Timeline