CVE-2024-43914
Severity CVSS v4.0: 
            Pending analysis
                                                    Type: 
          
                        Unavailable / Other
          
        Publication date: 
                          26/08/2024
                  Last modified: 
                          03/11/2025
                  Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
md/raid5: avoid BUG_ON() while continue reshape after reassembling<br />
<br />
Currently, mdadm support --revert-reshape to abort the reshape while<br />
reassembling, as the test 07revert-grow. However, following BUG_ON()<br />
can be triggerred by the test:<br />
<br />
kernel BUG at drivers/md/raid5.c:6278!<br />
invalid opcode: 0000 [#1] PREEMPT SMP PTI<br />
irq event stamp: 158985<br />
CPU: 6 PID: 891 Comm: md0_reshape Not tainted 6.9.0-03335-g7592a0b0049a #94<br />
RIP: 0010:reshape_request+0x3f1/0xe60<br />
Call Trace:<br />
 <br />
 raid5_sync_request+0x43d/0x550<br />
 md_do_sync+0xb7a/0x2110<br />
 md_thread+0x294/0x2b0<br />
 kthread+0x147/0x1c0<br />
 ret_from_fork+0x59/0x70<br />
 ret_from_fork_asm+0x1a/0x30<br />
 <br />
<br />
Root cause is that --revert-reshape update the raid_disks from 5 to 4,<br />
while reshape position is still set, and after reassembling the array,<br />
reshape position will be read from super block, then during reshape the<br />
checking of &#39;writepos&#39; that is caculated by old reshape position will<br />
fail.<br />
<br />
Fix this panic the easy way first, by converting the BUG_ON() to<br />
WARN_ON(), and stop the reshape if checkings fail.<br />
<br />
Noted that mdadm must fix --revert-shape as well, and probably md/raid<br />
should enhance metadata validation as well, however this means<br />
reassemble will fail and there must be user tools to fix the wrong<br />
metadata.
              Impact
Base Score 3.x
          5.50
        Severity 3.x
          MEDIUM
        Vulnerable products and versions
| CPE | From | Up to | 
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.19.320 (excluding) | |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.20 (including) | 5.4.282 (excluding) | 
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (including) | 5.10.224 (excluding) | 
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.15.165 (excluding) | 
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 6.1.105 (excluding) | 
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.6.46 (excluding) | 
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.10.5 (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/2c92f8c1c456d556f15cbf51667b385026b2e6a0
 - https://git.kernel.org/stable/c/305a5170dc5cf3d395bb4c4e9239bca6d0b54b49
 - https://git.kernel.org/stable/c/3b33740c1750a39e046339ff9240e954f0156707
 - https://git.kernel.org/stable/c/4811d6e5d9f4090c3e0ff9890eb24077108046ab
 - https://git.kernel.org/stable/c/6b33c468d543f6a83de2d61f09fec74b27e19fd2
 - https://git.kernel.org/stable/c/775a9ba16c9ffe98fe54ebf14e55d5660f2bf600
 - https://git.kernel.org/stable/c/bf0ff69a42a3d2d46876d0514ecf13dffc516666
 - https://git.kernel.org/stable/c/c384dd4f1fb3b14a2fd199360701cc163ea88705
 - https://lists.debian.org/debian-lts-announce/2024/10/msg00003.html
 - https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html
 



