Linux Kernel: RDMA/mlx5 SRQ Init Fall-Through Deref Error
CVE-2026-46176 Published on May 28, 2026
RDMA/mlx5: Fix error path fall-through in mlx5_ib_dev_res_srq_init()
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 Analysis
CVE-2026-46176 is exploitable with local system access, and requires small amount of user privileges. This vulnerability is consided to have a high level of attack complexity. The potential impact of an exploit of this vulnerability is considered to be very high.
Weakness Type
What is a Dangling pointer Vulnerability?
The program dereferences a pointer that contains a location for memory that was previously valid, but is no longer valid. When a program releases memory, but it maintains a pointer to that memory, then the memory might be re-allocated at a later time. If the original pointer is accessed to read or write data, then this could cause the program to read or modify data that is in use by a different function or process. Depending on how the newly-allocated memory is used, this could lead to a denial of service, information exposure, or code execution.
CVE-2026-46176 has been classified to as a Dangling pointer vulnerability or weakness.
Products Associated with CVE-2026-46176
You can be notified by email with stack.watch whenever vulnerabilities like CVE-2026-46176 are published in these products:
Affected Versions
Linux:- Version b6334d2356fc0922ed01457960f74923058a353a and below a13c2ac4d480b734342c6fbf8249fc48afd675f3 is affected.
- Version 5895e70f2e6e8dc67b551ca554d6fcde0a7f0467 and below bc2cf5935b4665172235341163315905197ae91d is affected.
- Version 5895e70f2e6e8dc67b551ca554d6fcde0a7f0467 and below b087913ae88256df66620f7ba0a9776716aeef7e is affected.
- Version 5895e70f2e6e8dc67b551ca554d6fcde0a7f0467 and below 6fd93142dd1d09000c3750af08270f5792523fe9 is affected.
- Version 5895e70f2e6e8dc67b551ca554d6fcde0a7f0467 and below c488df06bd552bb8b6e14fa0cfd5ad986c6e9525 is affected.
- Version 6.6.64 and below 6.6.140 is affected.
- Version 6.11 is affected.
- Before 6.11 is unaffected.
- Version 6.6.140, <= 6.6.* is unaffected.
- Version 6.12.88, <= 6.12.* is unaffected.
- Version 6.18.30, <= 6.18.* is unaffected.
- Version 7.0.7, <= 7.0.* is unaffected.
- Version 7.1, <= * is unaffected.
Exploit Probability
EPSS (Exploit Prediction Scoring System) scores estimate the probability that a vulnerability will be exploited in the wild within the next 30 days. The percentile shows you how this score compares to all other vulnerabilities.