CVE Catalog

CVE-2026-46176

HighCVSS 7.8
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.14%

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

Summary

In the Linux kernel RDMA/mlx5 driver, a bug in mlx5_ib_dev_res_srq_init() causes fall-through after a failed SRQ allocation (s1). The error path frees s0 but then assigns the freed s0 and an ERR_PTR to devr->s0 and devr->s1, leading to use-after-free and invalid pointer dereferences.

Risk Assessment

The organization risks system crashes (kernel panic) or potential privilege escalation, as the lock-free fast path may treat an invalid ERR_PTR as a valid initialized object, and other functions (e.g., mlx5_ib_create_qp) may dereference freed memory.

Recommendation

Immediately update the Linux kernel to a version containing the fix (commit adding 'goto unlock' in the s1 error path). For production systems, apply the security patch from your distributor.

Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: RDMA/mlx5: Fix error path fall-through in mlx5_ib_dev_res_srq_init() mlx5_ib_dev_res_srq_init() allocates two SRQs, s0 and s1. When ib_create_srq() fails for s1, the error branch destroys s0 but falls through and unconditionally assigns the freed s0 and the ERR_PTR s1 to devr->s0 and devr->s1. This leads to several problems: the lock-free fast path checks "if (devr->s1) return 0;" and treats the ERR_PTR as already initialised; users in mlx5_ib_create_qp() dereference the freed SRQ or ERR_PTR via to_msrq(devr->s0)->msrq.srqn; and mlx5_ib_dev_res_cleanup() dereferences the ERR_PTR and double-frees s0 on teardown. Fix by adding the same `goto unlock` in the s1 failure path.

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