CVE-2024-26962: dm-raid456, md/raid456: fix a deadlock for dm-raid456 while io concurrent with reshape
In the Linux kernel, the following vulnerability has been resolved:
dm-raid456, md/raid456: fix a deadlock for dm-raid456 while io concurrent with reshape
For raid456, if reshape is still in progress, then IO across reshape
position will wait for reshape to make progress. However, for dm-raid,
in following cases reshape will never make progress hence IO will hang:
1) the array is read-only;
2) MD_RECOVERY_WAIT is set;
3) MD_RECOVERY_FROZEN is set;
After commit c467e97f079f ("md/raid6: use valid sector values to determine
if an I/O should wait on the reshape") fix the problem that IO across
reshape position doesn't wait for reshape, the dm-raid test
shell/lvconvert-raid-reshape.sh start to hang:
[root@fedora ~]# cat /proc/979/stack
[<0>] wait_woken+0x7d/0x90
[<0>] raid5_make_request+0x929/0x1d70 [raid456]
[<0>] md_handle_request+0xc2/0x3b0 [md_mod]
[<0>] raid_map+0x2c/0x50 [dm_raid]
[<0>] __map_bio+0x251/0x380 [dm_mod]
[<0>] dm_submit_bio+0x1f0/0x760 [dm_mod]
[<0>] __submit_bio+0xc2/0x1c0
[<0>] submit_bio_noacct_nocheck+0x17f/0x450
[<0>] submit_bio_noacct+0x2bc/0x780
[<0>] submit_bio+0x70/0xc0
[<0>] mpage_readahead+0x169/0x1f0
[<0>] blkdev_readahead+0x18/0x30
[<0>] read_pages+0x7c/0x3b0
[<0>] page_cache_ra_unbounded+0x1ab/0x280
[<0>] force_page_cache_ra+0x9e/0x130
[<0>] page_cache_sync_ra+0x3b/0x110
[<0>] filemap_get_pages+0x143/0xa30
[<0>] filemap_read+0xdc/0x4b0
[<0>] blkdev_read_iter+0x75/0x200
[<0>] vfs_read+0x272/0x460
[<0>] ksys_read+0x7a/0x170
[<0>] __x64_sys_read+0x1c/0x30
[<0>] do_syscall_64+0xc6/0x230
[<0>] entry_SYSCALL_64_after_hwframe+0x6c/0x74
This is because reshape can't make progress.
For md/raid, the problem doesn't exist because register new sync_thread
doesn't rely on the IO to be done any more:
1) If array is read-only, it can switch to read-write by ioctl/sysfs;
2) md/raid never set MD_RECOVERY_WAIT;
3) If MD_RECOVERY_FROZEN is set, mddev_suspend() doesn't hold
'reconfig_mutex', hence it can be cleared and reshape can continue by
sysfs api 'sync_action'.
However, I'm not sure yet how to avoid the problem in dm-raid yet. This
patch on the one hand make sure raid_message() can't change
sync_thread() through raid_message() after presuspend(), on the other
hand detect the above 3 cases before wait for IO do be done in
dm_suspend(), and let dm-raid requeue those IO.
Security readout for executives and security teams
Plain-English summary
This is a Linux kernel storage availability issue. In specific dm-raid456 reshape conditions, normal I/O can wait forever because reshape cannot advance. Affected systems may experience hung reads or stalled storage operations rather than data theft or remote code execution based on the supplied sources.
Executive priority
Treat as a targeted availability risk for Linux storage infrastructure. Prioritize systems running software RAID reshape operations, especially production storage hosts, but do not treat it as proven active exploitation based on the supplied evidence.
Technical view
The flaw affects dm-raid456/md raid456 reshape handling after a prior change made I/O across the reshape position wait. For dm-raid, reshape may never progress when the array is read-only, MD_RECOVERY_WAIT is set, or MD_RECOVERY_FROZEN is set, causing I/O to hang. Kernel stable commits change suspend/message behavior and requeue affected I/O.
Likely exposure
Exposure appears limited to Linux systems using dm-raid456 or related RAID5/6 reshape workflows. The bundle lists Linux kernel affected entries including 6.7, 6.7.12, 6.8.3, and 6.9, but downstream distribution exposure depends on vendor backports.
Exploitation context
The source bundle does not show KEV listing, public exploitation, or remote attack evidence. The described impact is a deadlock during concurrent I/O and reshape in specific storage states, making operational disruption the main concern.
Researcher notes
Evidence is strongest for the deadlock mechanics and fix direction from the CVE description and kernel stable references. Missing data includes CVSS scoring, CWE mapping, exploitability analysis, and downstream distribution status, so validation should focus on actual dm-raid456 usage and kernel patch state.
Mitigation direction
Check Linux distribution advisories for CVE-2024-26962 backports or fixed kernel packages.
Prioritize kernel updates on systems using dm-raid456, RAID5, or RAID6 reshape operations.
Review the referenced stable kernel commits before applying source-level fixes.
Avoid scheduling risky reshape operations on critical systems until vendor guidance is confirmed.
Validation and detection
Inventory Linux kernel versions and identify hosts using dm-raid456 or RAID5/6 arrays.
Check whether active or planned reshape operations overlap with production I/O.
Review logs and process stacks for hung I/O paths involving raid5_make_request or dm_raid.
Confirm installed kernel packages include the vendor fix for CVE-2024-26962.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2024-26962 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.