CVE-2024-50001 net/mlx5: Fix error path in multi-packet WQE transmit
A bug in the Linux kernel mlx5 driver causes erroneous DMA unmapping under memory pressure, potentially leading to PCI function errors and denial of service.
- 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-50001?
CVE-2024-50001 is a high-severity vulnerability in Linux kernel, published on 21 Oct 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:
net/mlx5: Fix error path in multi-packet WQE transmit
Remove the erroneous unmap in case no DMA mapping was established
The multi-packet WQE transmit code attempts to obtain a DMA mapping for the skb. This could fail, e.g. under memory pressure, when the IOMMU driver just can't allocate more memory for page tables. While the code tries to handle this in the path below the err_unmap label it erroneously unmaps one entry from the sq's FIFO list of active mappings. Since the current map attempt failed this unmap is removing some random DMA mapping that might still be required. If the PCI function now presents that IOVA, the IOMMU may assumes a rogue DMA access and e.g. on s390 puts the PCI function in error state.
The erroneous behavior was seen in a stress-test environment that created memory pressure.
Weakness: CWE-755
Which versions are affected by CVE-2024-50001?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2024-50001?
Apply the vendor's patch.
Is CVE-2024-50001 being exploited?
There is no known exploitation of CVE-2024-50001 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as AZL-51986, BELL-CVE-2024-50001, DEBIAN-CVE-2024-50001, GHSA-m8rm-pc2x-rqv9, UBUNTU-CVE-2024-50001.