CVE-2024-50135 nvme-pci: fix race condition between reset and nvme_dev_disable()

Medium 4.7 Published Updated

A race condition in the Linux kernel NVMe driver can cause a system crash during device reset, requiring a kernel patch to fix.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Local or same network only
Victim action needed
Not needed
Fix
Available

What is CVE-2024-50135?

CVE-2024-50135 is a medium-severity vulnerability in Linux kernel, published on 5 Nov 2024. It can only be exploited from the same machine or local network, with no action from the victim.

Official description

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

nvme-pci: fix race condition between reset and nvme_dev_disable()

nvme_dev_disable() modifies the dev->online_queues field, therefore nvme_pci_update_nr_queues() should avoid racing against it, otherwise we could end up passing invalid values to blk_mq_update_nr_hw_queues().

WARNING: CPU: 39 PID: 61303 at drivers/pci/msi/api.c:347 pci_irq_get_affinity+0x187/0x210 Workqueue: nvme-reset-wq nvme_reset_work [nvme] RIP: 0010:pci_irq_get_affinity+0x187/0x210 Call Trace: <TASK> ? blk_mq_pci_map_queues+0x87/0x3c0 ? pci_irq_get_affinity+0x187/0x210 blk_mq_pci_map_queues+0x87/0x3c0 nvme_pci_map_queues+0x189/0x460 [nvme] blk_mq_update_nr_hw_queues+0x2a/0x40 nvme_reset_work+0x1be/0x2a0 [nvme]

Fix the bug by locking the shutdown_lock mutex before using dev->online_queues. Give up if nvme_dev_disable() is running or if it has been executed already.

Weakness: CWE-362

Which versions are affected by CVE-2024-50135?

It affects 1 product.

Products include Linux kernel.

How do I fix CVE-2024-50135?

Apply the vendor's patch.

Is CVE-2024-50135 being exploited?

There is no known exploitation of CVE-2024-50135 in the wild and no public exploit code.

All Linux kernel vulnerabilities

Sources

Also known as AZL-52396, AZL-52408, BELL-CVE-2024-50135, DEBIAN-CVE-2024-50135, GHSA-772q-fwqp-96rg, ROOT-OS-DEBIAN-11-CVE-2024-50135 and 3 more.

Is CVE-2024-50135 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free