CVE-2024-27435: nvme: fix reconnection fail due to reserved tag allocation
In the Linux kernel, the following vulnerability has been resolved:
nvme: fix reconnection fail due to reserved tag allocation
The Linux kernel CVE team has assigned CVE-2024-27435 to this issue.
Upstream advisory: https://lore.kernel.org/linux-cve-announce/2024051710-CVE-2024-27435-c465@gregkh/T
Other sources
In the Linux kernel, the following vulnerability has been resolved:
nvme: fix reconnection fail due to reserved tag allocation
We found a issue on production environment while using NVMe over RDMA, adminq reconnect failed forever while remote target and network is ok. After dig into it, we found it may caused by a ABBA deadlock due to tag allocation. In my case, the tag was hold by a keep alive request waiting inside adminq, as we quiesced adminq while reset ctrl, so the request maked as idle and will not process before reset success. As fabricq shares tagset with adminq, while reconnect remote target, we need a tag for connect command, but the only one reserved tag was held by keep alive command which waiting inside adminq. As a result, we failed to reconnect adminq forever. In order to fix this issue, I think we should keep two reserved tags for admin queue.
— NVD
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
debian/linuxto 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 - Upgrade
Upgrade
redhat/kernelto a version that resolves this vulnerability.Fixed in 6.1.83 - Upgrade
Upgrade
redhat/kernelto a version that resolves this vulnerability.Fixed in 6.6.23 - Upgrade
Upgrade
redhat/kernelto a version that resolves this vulnerability.Fixed in 6.7.11 - Upgrade
Upgrade
redhat/kernelto a version that resolves this vulnerability.Fixed in 6.8.2 - Upgrade
Upgrade
redhat/kernelto a version that resolves this vulnerability.Fixed in 6.9 - Upgrade
Upgrade
Linux kernel nvme: fix reconnection fail due to reserved tag allocationto a version that resolves this vulnerability.Fixed in CVE-2024-27435 - Compensating control
For NVMe over RDMA environments affected by CVE-2024-27435, ensure reconnect/reset handling does not leave reserved NVMe tag(s) held by a keep-alive request within admin_q, since fabric_q shares the same tagset and the connect command cannot obtain a reserved tag until the admin_q-resident keep-alive can complete.
Event History
Frequently Asked Questions
What is the severity of CVE-2024-27435?
CVE-2024-27435 is considered a moderate severity vulnerability affecting the Linux kernel.
How do I fix CVE-2024-27435?
To fix CVE-2024-27435, update the Linux kernel to version 6.1.83 or later, depending on your distribution.
Which Linux kernel versions are affected by CVE-2024-27435?
CVE-2024-27435 affects several kernel versions including various 6.x versions and specific 5.10 versions.
What types of systems are impacted by CVE-2024-27435?
CVE-2024-27435 impacts systems running affected versions of the Linux kernel, which may include servers, desktops, and embedded systems.
Is there a workaround for CVE-2024-27435?
There are no known workarounds for CVE-2024-27435; the best practice is to apply the available kernel update.