CVE-2021-47378 nvme-rdma: destroy cm id before destroy qp to avoid use after free
A use-after-free vulnerability in the Linux kernel's NVMe RDMA driver allows attackers to potentially execute code or cause a system crash.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2021-47378?
CVE-2021-47378 is a critical use after free vulnerability in Linux kernel, published on 21 May 2024. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
In the Linux kernel, the following vulnerability has been resolved:
nvme-rdma: destroy cm id before destroy qp to avoid use after free
We should always destroy cm_id before destroy qp to avoid to get cma event after qp was destroyed, which may lead to use after free. In RDMA connection establishment error flow, don't destroy qp in cm event handler.Just report cm_error to upper level, qp will be destroy in nvme_rdma_alloc_queue() after destroy cm id.
Weakness: CWE-416
Which versions are affected by CVE-2021-47378?
It affects 1 product.
Linux distribution packages (4)
kgraft-patch-SLE12-SP5_Update_47 SUSE:Linux Enterprise Live Patching 12 SP5 | All versions | 14-2.1 |
kgraft-patch-SLE12-SP5_Update_48 SUSE:Linux Enterprise Live Patching 12 SP5 | All versions | 13-2.1 |
kgraft-patch-SLE12-SP5_Update_49 SUSE:Linux Enterprise Live Patching 12 SP5 | All versions | 12-2.1 |
kgraft-patch-SLE12-SP5_Update_53 SUSE:Linux Enterprise Live Patching 12 SP5 | All versions | 8-2.1 |
Products include Linux kernel.
How do I fix CVE-2021-47378?
Apply the vendor's patch.
Upgrade to the fixed version. These bugs are found with fuzzing and sanitisers and avoided by memory-safe languages. More about Use after free.
Is CVE-2021-47378 being exploited?
There is no known exploitation of CVE-2021-47378 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as DEBIAN-CVE-2021-47378, GHSA-7fq3-h5p4-7j98, SUSE-SU-2024:3014-1, SUSE-SU-2024:3021-1, SUSE-SU-2024:3027-1, SUSE-SU-2024:3040-1 and 1 more.