CVE-2024-26899: block: fix deadlock between bd_link_disk_holder and partition scan

Published Apr 17, 2024
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

block: fix deadlock between bdlinkdiskholder and partition scan

'openmutex' of gendisk is used to protect open/close block devices. But in bdlinkdiskholder(), it is used to protect the creation of symlink between holding disk and slave bdev, which introduces some issues.

When bdlinkdiskholder() is called, the driver is usually in the process of initialization/modification and may suspend submitting io. At this time, any io hold 'openmutex', such as scanning partitions, can cause deadlocks. For example, in raid:

T1 T2 bdevopenbydev lock openmutex [1] ... efipartition ... mdsubmitbio mdioctl mddevsyspend -> suspend all io mdaddnewdisk bindrdevtoarray bdlinkdiskholder try lock openmutex [2] mdhandlerequest -> wait mddevresume

T1 scan partition, T2 add a new device to raid. T1 waits for T2 to resume mddev, but T2 waits for openmutex held by T1. Deadlock occurs.

Fix it by introducing a local mutex 'blkholdermutex' to replace 'openmutex'.

Other sources

In the Linux kernel, the following vulnerability has been resolved:

block: fix deadlock between bdlinkdiskholder and partition scan

The Linux kernel CVE team has assigned CVE-2024-26899 to this issue.

Upstream advisory: https://lore.kernel.org/linux-cve-announce/2024041745-CVE-2024-26899-3f41@gregkh/T

Red Hat

Affected Software

6 affected componentsFixes available
Linux Linux kernel>=6.7<6.7.11
Linux Linux kernel>=6.8<6.8.2
redhat/kernel<6.7.11
6.7.11
redhat/kernel<6.8.2
6.8.2
redhat/kernel<6.9
6.9
debian/linux
5.10.223-15.10.234-16.1.129-16.1.135-16.12.25-16.12.27-1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade debian/linux to a version that resolves this vulnerability.

    Fixed in 5.10.223-1Fixed in 5.10.234-1Fixed in 6.1.129-1Fixed in 6.1.135-1Fixed in 6.12.25-1Fixed in 6.12.27-1
  2. Upgrade

    Upgrade redhat/kernel to a version that resolves this vulnerability.

    Fixed in 6.7.11
  3. Upgrade

    Upgrade redhat/kernel to a version that resolves this vulnerability.

    Fixed in 6.8.2
  4. Upgrade

    Upgrade redhat/kernel to a version that resolves this vulnerability.

    Fixed in 6.9
  5. Upgrade

    Upgrade debian/linux to a version that resolves this vulnerability.

    Fixed in 5.10.223-1
  6. Upgrade

    Upgrade debian/linux to a version that resolves this vulnerability.

    Fixed in 5.10.234-1
  7. Upgrade

    Upgrade debian/linux to a version that resolves this vulnerability.

    Fixed in 6.1.129-1
  8. Upgrade

    Upgrade debian/linux to a version that resolves this vulnerability.

    Fixed in 6.1.135-1
  9. Upgrade

    Upgrade debian/linux to a version that resolves this vulnerability.

    Fixed in 6.12.25-1
  10. Upgrade

    Upgrade debian/linux to a version that resolves this vulnerability.

    Fixed in 6.12.27-1
  11. Configuration

    Introduce a local mutex named 'blk_holder_mutex' in bd_link_disk_holder and replace uses of the gendisk 'open_mutex' with this local 'blk_holder_mutex' to protect creation of symlinks between holding disk and slave bdev, preventing deadlocks between bd_link_disk_holder and partition scans.

    Linux kernel (bd_link_disk_holder / gendisk) mutex used to protect creation of symlink between holding disk and slave bdev = use local mutex 'blk_holder_mutex' instead of gendisk 'open_mutex'

Event History

Apr 17, 2024
CVE Published
via MITRE·10:27 AM
Data Sourced
via MITRE·10:27 AM
Description
Data Sourced
via Red Hat·05:44 PM
DescriptionSeverityAffected Software
Jun 8, 2024
Data Sourced
via Launchpad·01:10 AM
Description
Dec 1, 2024
Data Sourced
via Ubuntu·04:48 AM
RemedyDescriptionSeverityAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2024-26899?

CVE-2024-26899 has a severity rating that indicates a potential for significant disruption due to a deadlock issue in the Linux kernel.

2

How do I fix CVE-2024-26899?

To fix CVE-2024-26899, upgrade your Linux kernel to versions 6.7.11, 6.8.2, 6.9, or the latest available for your distribution.

3

What systems are affected by CVE-2024-26899?

CVE-2024-26899 affects various versions of the Linux kernel, including those below version 6.7.11 and specific releases in the 5.10 and 6.x series.

4

Is CVE-2024-26899 actively being exploited?

There is currently no public information indicating active exploitation of CVE-2024-26899, but it should be addressed promptly due to its nature.

5

What are the symptoms of CVE-2024-26899?

Symptoms of CVE-2024-26899 may include system freezes or deadlocks related to block device operations.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203