CVE-2025-21712

CVE-2025-21712

High · published February 27, 2025

CVSS v3.1
7.8
EPSS
0%
Percentile
12.1
In the wild
Unconfirmed
What it is

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

md/md-bitmap: Synchronize bitmap_get_stats() with bitmap lifetime

After commit ec6bb299c7c3 ("md/md-bitmap: add 'sync_size' into struct

md_bitmap_stats"), following panic is reported:

Oops: general protection fault, probably for non-canonical address

RIP: 0010:bitmap_get_stats+0x2b/0xa0

Call Trace:

<TASK>

md_seq_show+0x2d2/0x5b0

seq_read_iter+0x2b9/0x470

seq_read+0x12f/0x180

proc_reg_read+0x57/0xb0

vfs_read+0xf6/0x380

ksys_read+0x6c/0xf0

do_syscall_64+0x82/0x170

entry_SYSCALL_64_after_hwframe+0x76/0x7e

Root cause is that bitmap_get_stats() can be called at anytime if mddev

is still there, even if bitmap is destroyed, or not fully initialized.

Deferenceing bitmap in this case can crash the kernel. Meanwhile, the

above commit start to deferencing bitmap->storage, make the problem

easier to trigger.

Fix the problem by protecting bitmap_get_stats() with bitmap_info.mutex.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00222 · 12.1th percentile
Published
2025-02-27T07:15Z
Affected products (4)
ProductVersionsFixed in
linux/linux_kernel≥ 2.6.13, < 6.1.1306.1.130
linux/linux_kernel≥ 6.2, < 6.6.806.6.80
linux/linux_kernel≥ 6.7, < 6.12.136.12.13
linux/linux_kernel≥ 6.13, < 6.13.26.13.2
References (8)
EPSS history
Timeline
  • 27 FEB 02:07Z
    md/md-bitmap: Synchronize bitmap_get_stats() with bitmap lifetime
    cvelistv5