CVE Catalog

CVE-2021-47541

HighCVSS 7.8
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.30%

22th percentile - higher than 22% of all known CVEs

Summary

In the Linux kernel, a use-after-free bug was found in the mlx4_en driver in function mlx4_en_try_alloc_resources(). After calling mlx4_en_copy_priv() and on error, tmp->tx_cq is freed, and then in mlx4_en_alloc_resources() there is a dereference of &tmp->tx_cq[t][i], leading to use-after-free. A check of mlx4_en_copy_priv() was added to fix this.

Risk Assessment

The vulnerability could lead to use-after-free, potentially causing system crash, information leak, or privilege escalation. It requires specific conditions but could be exploited locally.

Recommendation

It is recommended to update the Linux kernel to a patched version. Also restrict access to network interfaces using the mlx4_en driver if possible.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: net/mlx4_en: Fix an use-after-free bug in mlx4_en_try_alloc_resources() In mlx4_en_try_alloc_resources(), mlx4_en_copy_priv() is called and tmp->tx_cq will be freed on the error path of mlx4_en_copy_priv(). After that mlx4_en_alloc_resources() is called and there is a dereference of &tmp->tx_cq[t][i] in mlx4_en_alloc_resources(), which could lead to a use after free problem on failure of mlx4_en_copy_priv(). Fix this bug by adding a check of mlx4_en_copy_priv() This bug was found by a static analyzer. The analysis employs differential checking to identify inconsistent security operations (e.g., checks or kfrees) between two code paths and confirms that the inconsistent operations are not recovered in the current function or the callers, so they constitute bugs. Note that, as a bug found by static analysis, it can be a false positive or hard to trigger. Multiple researchers have cross-reviewed the bug. Builds with CONFIG_MLX4_EN=m show no new warnings, and our static analyzer no longer warns about this code.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS