Skip to main content

CVE-2024-26758: Vulnerability in Linux Linux

Medium
VulnerabilityCVE-2024-26758cvecve-2024-26758
Published: Wed Apr 03 2024 (04/03/2024, 17:00:42 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: md: Don't ignore suspended array in md_check_recovery() mddev_suspend() never stop sync_thread, hence it doesn't make sense to ignore suspended array in md_check_recovery(), which might cause sync_thread can't be unregistered. After commit f52f5c71f3d4 ("md: fix stopping sync thread"), following hang can be triggered by test shell/integrity-caching.sh: 1) suspend the array: raid_postsuspend mddev_suspend 2) stop the array: raid_dtr md_stop __md_stop_writes stop_sync_thread set_bit(MD_RECOVERY_INTR, &mddev->recovery); md_wakeup_thread_directly(mddev->sync_thread); wait_event(..., !test_bit(MD_RECOVERY_RUNNING, &mddev->recovery)) 3) sync thread done: md_do_sync set_bit(MD_RECOVERY_DONE, &mddev->recovery); md_wakeup_thread(mddev->thread); 4) daemon thread can't unregister sync thread: md_check_recovery if (mddev->suspended) return; -> return directly md_read_sync_thread clear_bit(MD_RECOVERY_RUNNING, &mddev->recovery); -> MD_RECOVERY_RUNNING can't be cleared, hence step 2 hang; This problem is not just related to dm-raid, fix it by ignoring suspended array in md_check_recovery(). And follow up patches will improve dm-raid better to frozen sync thread during suspend.

AI-Powered Analysis

AILast updated: 06/29/2025, 18:12:21 UTC

Technical Analysis

CVE-2024-26758 is a medium-severity vulnerability in the Linux kernel's md (multiple device) subsystem, which manages software RAID arrays. The issue arises from improper handling of suspended RAID arrays during recovery operations. Specifically, the function md_check_recovery() incorrectly ignores the suspended state of an array, leading to a situation where the sync_thread responsible for synchronizing RAID data cannot be properly unregistered. This occurs because mddev_suspend() does not stop the sync_thread, and md_check_recovery() returns early if the array is suspended, preventing the clearing of the MD_RECOVERY_RUNNING flag. Consequently, the system can hang during RAID stop operations, as the sync_thread remains stuck waiting on recovery flags that never clear. The problem is not limited to device-mapper RAID (dm-raid) but affects the md subsystem more broadly. The root cause is a race condition and improper state management in the recovery synchronization logic. The vulnerability was introduced after commit f52f5c71f3d4 and can be triggered by specific test scripts such as shell/integrity-caching.sh. The fix involves modifying md_check_recovery() to ignore the suspended state, allowing proper cleanup of the sync_thread, and follow-up patches aim to improve dm-raid handling by freezing the sync_thread during suspend operations. The CVSS v3.1 score is 5.5 (medium), with an attack vector of local access, low complexity, requiring low privileges, no user interaction, and impacting availability only (no confidentiality or integrity impact). No known exploits are reported in the wild at this time.

Potential Impact

For European organizations relying on Linux servers with software RAID configurations managed by the md subsystem, this vulnerability can lead to system hangs during RAID array suspension and stopping operations. This can cause temporary denial of service, impacting availability of critical storage systems, potentially disrupting business operations, data processing, and services dependent on RAID arrays. While the vulnerability does not compromise data confidentiality or integrity, the availability impact can be significant in environments where RAID arrays are frequently suspended or stopped for maintenance or failover. Organizations running local Linux servers with RAID arrays, especially in data centers, cloud infrastructure, or enterprise storage solutions, are at risk. The requirement for local access and low privileges means that attackers or malicious insiders with limited system access could trigger the hang, increasing the risk in multi-user or shared environments. The absence of known exploits reduces immediate risk, but the medium severity and potential for denial of service warrant timely patching to maintain operational stability.

Mitigation Recommendations

European organizations should promptly apply the official Linux kernel patches that address CVE-2024-26758 once available from their Linux distribution vendors. Until patches are applied, administrators should avoid suspending or stopping RAID arrays managed by the md subsystem on production systems, especially during critical operational periods. Monitoring system logs for unusual hangs or sync_thread activity can help detect attempts to trigger the issue. For environments using dm-raid, follow-up patches improving sync_thread freezing during suspend should also be applied to enhance stability. Additionally, organizations should restrict local access to trusted users only, enforce strict privilege controls, and audit user activities to reduce the risk of exploitation. Testing patches in staging environments before deployment is recommended to ensure compatibility and stability. Finally, maintaining up-to-date backups and RAID health monitoring can mitigate the impact of any unexpected availability issues.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2024-02-19T14:20:24.170Z
Cisa Enriched
true
Cvss Version
3.1
State
PUBLISHED

Threat ID: 682d982ac4522896dcbe3a95

Added to database: 5/21/2025, 9:08:58 AM

Last enriched: 6/29/2025, 6:12:21 PM

Last updated: 8/13/2025, 6:48:31 AM

Views: 11

Actions

PRO

Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.

Please log in to the Console to use AI analysis features.

Need enhanced features?

Contact root@offseq.com for Pro access with improved analysis and higher rate limits.

Latest Threats