UBUNTU-CVE-2024-43914
In the Linux kernel, the following vulnerability has been resolved: md/raid5: avoid BUG_ON() while continue reshape after reassembling Currently, mdadm support --revert-reshape to abort the reshape while reassembling, as the test 07revert-grow. However, following BUG_ON() can be triggerred by the test: kernel BUG at drivers/md/raid5.c:6278! invalid opcode: 0000 [#1] PREEMPT SMP PTI irq event stamp: 158985 CPU: 6 PID: 891 Comm: md0_reshape Not tainted 6.9.0-03335-g7592a0b0049a #94 RIP: 0010:reshape_request+0x3f1/0xe60 Call Trace: <TASK> raid5_sync_request+0x43d/0x550 md_do_sync+0xb7a/0x2110 md_thread+0x294/0x2b0 kthread+0x147/0x1c0 ret_from_fork+0x59/0x70 ret_from_fork_asm+0x1a/0x30 </TASK> Root cause is that --revert-reshape update the raid_disks from 5 to 4, while reshape position is still set, and after reassembling the array, reshape position will be read from super block, then during reshape the checking of 'writepos' that is caculated by old reshape position will fail. Fix this panic the easy way first, by converting the BUG_ON() to WARN_ON(), and stop the reshape if checkings fail. Noted that mdadm must fix --revert-shape as well, and probably md/raid should enhance metadata validation as well, however this means reassemble will fail and there must be user tools to fix the wrong metadata.
02 / AFFECTED SOFTWARE
Affected packages
11 explicit affected versions
1 explicit affected versions
1 explicit affected versions
77 explicit affected versions
10 explicit affected versions
8 explicit affected versions
19 explicit affected versions
5 explicit affected versions
8 explicit affected versions
1 explicit affected versions
10 explicit affected versions
13 explicit affected versions
13 explicit affected versions
87 explicit affected versions
13 explicit affected versions
52 explicit affected versions
7 explicit affected versions
75 explicit affected versions
50 explicit affected versions
10 explicit affected versions
14 explicit affected versions
12 explicit affected versions
87 explicit affected versions
44 explicit affected versions
16 explicit affected versions
3 explicit affected versions
13 explicit affected versions
26 explicit affected versions
44 explicit affected versions
37 explicit affected versions
17 explicit affected versions
14 explicit affected versions
38 explicit affected versions
47 explicit affected versions
9 explicit affected versions
47 explicit affected versions
11 explicit affected versions
8 explicit affected versions
7 explicit affected versions
55 explicit affected versions
7 explicit affected versions
28 explicit affected versions
80 explicit affected versions
59 explicit affected versions
124 explicit affected versions
103 explicit affected versions
4 explicit affected versions
1 explicit affected versions
1 explicit affected versions
53 explicit affected versions
96 explicit affected versions
13 explicit affected versions
43 explicit affected versions
53 explicit affected versions
127 explicit affected versions
147 explicit affected versions
10 explicit affected versions
8 explicit affected versions
12 explicit affected versions
14 explicit affected versions
88 explicit affected versions
4 explicit affected versions
77 explicit affected versions
11 explicit affected versions
1 explicit affected versions
50 explicit affected versions
10 explicit affected versions
38 explicit affected versions
52 explicit affected versions
50 explicit affected versions
6 explicit affected versions
12 explicit affected versions
19 explicit affected versions
6 explicit affected versions
61 explicit affected versions
14 explicit affected versions
47 explicit affected versions
68 explicit affected versions
57 explicit affected versions
47 explicit affected versions
10 explicit affected versions
8 explicit affected versions
14 explicit affected versions
54 explicit affected versions
191 explicit affected versions
7 explicit affected versions
53 explicit affected versions
9 explicit affected versions
95 explicit affected versions
13 explicit affected versions
68 explicit affected versions
11 explicit affected versions
35 explicit affected versions
14 explicit affected versions
18 explicit affected versions
18 explicit affected versions
15 explicit affected versions
99 explicit affected versions
64 explicit affected versions
14 explicit affected versions
97 explicit affected versions
13 explicit affected versions
4 explicit affected versions
23 explicit affected versions
104 explicit affected versions
18 explicit affected versions
1 explicit affected versions
21 explicit affected versions
16 explicit affected versions
10 explicit affected versions
52 explicit affected versions
16 explicit affected versions
7 explicit affected versions
12 explicit affected versions
45 explicit affected versions
12 explicit affected versions
14 explicit affected versions
7 explicit affected versions
85 explicit affected versions
12 explicit affected versions
100 explicit affected versions
108 explicit affected versions
12 explicit affected versions
9 explicit affected versions
96 explicit affected versions
103 explicit affected versions
14 explicit affected versions
9 explicit affected versions
1 explicit affected versions
10 explicit affected versions
170 explicit affected versions
37 explicit affected versions
13 explicit affected versions
7 explicit affected versions
10 explicit affected versions
33 explicit affected versions
1 explicit affected versions
35 explicit affected versions
26 explicit affected versions
13 explicit affected versions
9 explicit affected versions
1 explicit affected versions
29 explicit affected versions
88 explicit affected versions
13 explicit affected versions
58 explicit affected versions
8 explicit affected versions
9 explicit affected versions
1 explicit affected versions
83 explicit affected versions
56 explicit affected versions
100 explicit affected versions
18 explicit affected versions
33 explicit affected versions
23 explicit affected versions
10 explicit affected versions
1 explicit affected versions
97 explicit affected versions
11 explicit affected versions
12 explicit affected versions
120 explicit affected versions
7 explicit affected versions
12 explicit affected versions
98 explicit affected versions
2 explicit affected versions
45 explicit affected versions
39 explicit affected versions
113 explicit affected versions
55 explicit affected versions
147 explicit affected versions
133 explicit affected versions
10 explicit affected versions
26 explicit affected versions
16 explicit affected versions
34 explicit affected versions
1 explicit affected versions
7 explicit affected versions
17 explicit affected versions
13 explicit affected versions
16 explicit affected versions
120 explicit affected versions
58 explicit affected versions
16 explicit affected versions
58 explicit affected versions
17 explicit affected versions
46 explicit affected versions
3 explicit affected versions
74 explicit affected versions
1 explicit affected versions
2 explicit affected versions
65 explicit affected versions
51 explicit affected versions
73 explicit affected versions
14 explicit affected versions
12 explicit affected versions
44 explicit affected versions
27 explicit affected versions
30 explicit affected versions
03 / CONNECTIONS
Connected vulnerabilities
04 / EVIDENCE
Source records
In the Linux kernel, the following vulnerability has been resolved: md/raid5: avoid BUG_ON() while continue reshape after reassembling Currently, mdadm support --revert-reshape to abort the reshape while reassembling, as the test 07revert-grow. However, following BUG_ON() can be triggerred by the test: kernel BUG at drivers/md/raid5.c:6278! invalid opcode: 0000 [#1] PREEMPT SMP PTI irq event stamp: 158985 CPU: 6 PID: 891 Comm: md0_reshape Not tainted 6.9.0-03335-g7592a0b0049a #94 RIP: 0010:reshape_request+0x3f1/0xe60 Call Trace: <TASK> raid5_sync_request+0x43d/0x550 md_do_sync+0xb7a/0x2110 md_thread+0x294/0x2b0 kthread+0x147/0x1c0 ret_from_fork+0x59/0x70 ret_from_fork_asm+0x1a/0x30 </TASK> Root cause is that --revert-reshape update the raid_disks from 5 to 4, while reshape position is still set, and after reassembling the array, reshape position will be read from super block, then during reshape the checking of 'writepos' that is caculated by old reshape position will fail. Fix this panic the easy way first, by converting the BUG_ON() to WARN_ON(), and stop the reshape if checkings fail. Noted that mdadm must fix --revert-shape as well, and probably md/raid should enhance metadata validation as well, however this means reassemble will fail and there must be user tools to fix the wrong metadata.
05 / REFERENCES
Further evidence
- https://git.kernel.org/linus/305a5170dc5cf3d395bb4c4e9239bca6d0b54b49
- 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://ubuntu.com/security/CVE-2024-43914
- https://ubuntu.com/security/notices/USN-7088-1
- https://ubuntu.com/security/notices/USN-7088-2
- https://ubuntu.com/security/notices/USN-7088-3
- https://ubuntu.com/security/notices/USN-7088-4
- https://ubuntu.com/security/notices/USN-7088-5
- https://ubuntu.com/security/notices/USN-7100-1
- https://ubuntu.com/security/notices/USN-7100-2
- https://ubuntu.com/security/notices/USN-7119-1
- https://ubuntu.com/security/notices/USN-7123-1
- https://ubuntu.com/security/notices/USN-7144-1
- https://ubuntu.com/security/notices/USN-7154-1
- https://ubuntu.com/security/notices/USN-7154-2
- https://ubuntu.com/security/notices/USN-7155-1
- https://ubuntu.com/security/notices/USN-7156-1
- https://ubuntu.com/security/notices/USN-7194-1
- https://ubuntu.com/security/notices/USN-7196-1
- https://ubuntu.com/security/notices/USN-7233-1
- https://ubuntu.com/security/notices/USN-7233-2
- https://ubuntu.com/security/notices/USN-7233-3
- https://ubuntu.com/security/notices/USN-7262-1
- https://ubuntu.com/security/notices/USN-7262-2
- https://www.cve.org/CVERecord?id=CVE-2024-43914