CVE-2022-49674
Severity CVSS v4.0:
Pending analysis
Type:
CWE-125
Out-of-bounds Read
Publication date:
26/02/2025
Last modified:
24/10/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
dm raid: fix accesses beyond end of raid member array<br />
<br />
On dm-raid table load (using raid_ctr), dm-raid allocates an array<br />
rs->devs[rs->raid_disks] for the raid device members. rs->raid_disks<br />
is defined by the number of raid metadata and image tupples passed<br />
into the target&#39;s constructor.<br />
<br />
In the case of RAID layout changes being requested, that number can be<br />
different from the current number of members for existing raid sets as<br />
defined in their superblocks. Example RAID layout changes include:<br />
- raid1 legs being added/removed<br />
- raid4/5/6/10 number of stripes changed (stripe reshaping)<br />
- takeover to higher raid level (e.g. raid5 -> raid6)<br />
<br />
When accessing array members, rs->raid_disks must be used in control<br />
loops instead of the potentially larger value in rs->md.raid_disks.<br />
Otherwise it will cause memory access beyond the end of the rs->devs<br />
array.<br />
<br />
Fix this by changing code that is prone to out-of-bounds access.<br />
Also fix validate_raid_redundancy() to validate all devices that are<br />
added. Also, use braces to help clean up raid_iterate_devices().<br />
<br />
The out-of-bounds memory accesses was discovered using KASAN.<br />
<br />
This commit was verified to pass all LVM2 RAID tests (with KASAN<br />
enabled).
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.14.287 (excluding) | |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.15 (including) | 4.19.251 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.20 (including) | 5.4.204 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (including) | 5.10.129 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.15.53 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 5.18.10 (excluding) |
| cpe:2.3:o:linux:linux_kernel:5.19:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:5.19:rc2:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:5.19:rc3:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:5.19:rc4:*:*:*:*:*:* |
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/332bd0778775d0cf105c4b9e03e460b590749916
- https://git.kernel.org/stable/c/5e161a8826b63c0b8b43e4a7fad1f956780f42ab
- https://git.kernel.org/stable/c/6352b2f4d8e95ec0ae576d7705435d64cfa29503
- https://git.kernel.org/stable/c/90de15357504c8097ab29769dc6852e16281e9e8
- https://git.kernel.org/stable/c/9bf2b0757b04c78dc5d6e3a198acca98457b32a1
- https://git.kernel.org/stable/c/bcff98500ea3b4e7615ec31d2bdd326bc1ef5134
- https://git.kernel.org/stable/c/df1a5ab0dd0775f2ea101c71f2addbc4c0ea0f85



