CVE-2022-50084
Severity CVSS v4.0:
Pending analysis
Type:
CWE-125
Out-of-bounds Read
Publication date:
18/06/2025
Last modified:
18/11/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
dm raid: fix address sanitizer warning in raid_status<br />
<br />
There is this warning when using a kernel with the address sanitizer<br />
and running this testsuite:<br />
https://gitlab.com/cki-project/kernel-tests/-/tree/main/storage/swraid/scsi_raid<br />
<br />
==================================================================<br />
BUG: KASAN: slab-out-of-bounds in raid_status+0x1747/0x2820 [dm_raid]<br />
Read of size 4 at addr ffff888079d2c7e8 by task lvcreate/13319<br />
CPU: 0 PID: 13319 Comm: lvcreate Not tainted 5.18.0-0.rc3. #1<br />
Hardware name: Red Hat KVM, BIOS 0.5.1 01/01/2011<br />
Call Trace:<br />
<br />
dump_stack_lvl+0x6a/0x9c<br />
print_address_description.constprop.0+0x1f/0x1e0<br />
print_report.cold+0x55/0x244<br />
kasan_report+0xc9/0x100<br />
raid_status+0x1747/0x2820 [dm_raid]<br />
dm_ima_measure_on_table_load+0x4b8/0xca0 [dm_mod]<br />
table_load+0x35c/0x630 [dm_mod]<br />
ctl_ioctl+0x411/0x630 [dm_mod]<br />
dm_ctl_ioctl+0xa/0x10 [dm_mod]<br />
__x64_sys_ioctl+0x12a/0x1a0<br />
do_syscall_64+0x5b/0x80<br />
<br />
The warning is caused by reading conf->max_nr_stripes in raid_status. The<br />
code in raid_status reads mddev->private, casts it to struct r5conf and<br />
reads the entry max_nr_stripes.<br />
<br />
However, if we have different raid type than 4/5/6, mddev->private<br />
doesn&#39;t point to struct r5conf; it may point to struct r0conf, struct<br />
r1conf, struct r10conf or struct mpconf. If we cast a pointer to one<br />
of these structs to struct r5conf, we will be reading invalid memory<br />
and KASAN warns about it.<br />
<br />
Fix this bug by reading struct r5conf only if raid type is 4, 5 or 6.
Impact
Base Score 3.x
7.10
Severity 3.x
HIGH
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.9.326 (excluding) | |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.10 (including) | 4.14.291 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.15 (including) | 4.19.256 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.20 (including) | 5.4.211 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (including) | 5.10.137 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.15.61 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 5.18.18 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.19 (including) | 5.19.2 (excluding) |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/1ae0ebfb576b72c2ef400917a5484ebe7892d80b
- https://git.kernel.org/stable/c/1fbeea217d8f297fe0e0956a1516d14ba97d0396
- https://git.kernel.org/stable/c/49dba30638e091120256a9e89125340795f034dc
- https://git.kernel.org/stable/c/4c233811a49578634d10a5e70a9dfa569d451e94
- https://git.kernel.org/stable/c/90b006da40dd42285b24dd3c940d2c32aca9a70b
- https://git.kernel.org/stable/c/b4c6c07c92b6cba2bf3cb2dfa722debeaf8a8abe
- https://git.kernel.org/stable/c/b856ce5f4b55f752144baf17e9d5c415072652c5
- https://git.kernel.org/stable/c/cb583ca6125ac64c98e9d65128e95ebb5be7d322
- https://git.kernel.org/stable/c/d8971b595d7adac3421c21f59918241f1574061e



