CVE-2024-26755
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
03/04/2024
Last modified:
04/04/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
md: Don&#39;t suspend the array for interrupted reshape<br />
<br />
md_start_sync() will suspend the array if there are spares that can be<br />
added or removed from conf, however, if reshape is still in progress,<br />
this won&#39;t happen at all or data will be corrupted(remove_and_add_spares<br />
won&#39;t be called from md_choose_sync_action for reshape), hence there is<br />
no need to suspend the array if reshape is not done yet.<br />
<br />
Meanwhile, there is a potential deadlock for raid456:<br />
<br />
1) reshape is interrupted;<br />
<br />
2) set one of the disk WantReplacement, and add a new disk to the array,<br />
however, recovery won&#39;t start until the reshape is finished;<br />
<br />
3) then issue an IO across reshpae position, this IO will wait for<br />
reshape to make progress;<br />
<br />
4) continue to reshape, then md_start_sync() found there is a spare disk<br />
that can be added to conf, mddev_suspend() is called;<br />
<br />
Step 4 and step 3 is waiting for each other, deadlock triggered. Noted<br />
this problem is found by code review, and it&#39;s not reporduced yet.<br />
<br />
Fix this porblem by don&#39;t suspend the array for interrupted reshape,<br />
this is safe because conf won&#39;t be changed until reshape is done.
Impact
Base Score 3.x
5.30
Severity 3.x
MEDIUM
Vulnerable products and versions
CPE | From | Up to |
---|---|---|
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.7.7 (excluding) |
cpe:2.3:o:linux:linux_kernel:6.8:rc1:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.8:rc2:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.8:rc3:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.8:rc4:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.8:rc5:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page