Bug 2482594 (CVE-2026-46176) - CVE-2026-46176 kernel: RDMA/mlx5: Fix error path fall-through in mlx5_ib_dev_res_srq_init()
Summary: CVE-2026-46176 kernel: RDMA/mlx5: Fix error path fall-through in mlx5_ib_dev_...
Keywords:
Status: NEW
Alias: CVE-2026-46176
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-05-28 11:04 UTC by OSIDB Bzimport
Modified: 2026-07-01 08:59 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2026:30848 0 None None None 2026-06-29 04:56:17 UTC
Red Hat Product Errata RHSA-2026:33215 0 None None None 2026-06-29 19:24:01 UTC
Red Hat Product Errata RHSA-2026:33685 0 None None None 2026-06-30 19:05:02 UTC
Red Hat Product Errata RHSA-2026:34094 0 None None None 2026-07-01 08:59:15 UTC

Description OSIDB Bzimport 2026-05-28 11:04:56 UTC
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.

Comment 5 Rohit Keshri 2026-06-22 07:51:02 UTC
Exploitation Scenarios

  1. Use-After-Free Exploitation:
    - Attacker triggers SRQ creation failure for s1
    - Freed s0 memory is reallocated for attacker-controlled data
    - Subsequent mlx5_ib_create_qp() call dereferences attacker-controlled memory
    - Potential for arbitrary code execution or privilege escalation
  2. Double-Free Exploitation:
    - During teardown, mlx5_ib_dev_res_cleanup() attempts to free already-freed s0
    - Can lead to heap corruption
    - Exploitable for denial of service or memory corruption attacks
  3. Denial of Service:
    - Simpler attack: repeatedly trigger the vulnerability to crash the kernel
    - No special exploitation techniques required
    - System becomes unavailable

Comment 6 errata-xmlrpc 2026-06-29 04:56:17 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 9

Via RHSA-2026:30848 https://access.redhat.com/errata/RHSA-2026:30848

Comment 7 errata-xmlrpc 2026-06-29 19:24:00 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 10.0 Extended Update Support

Via RHSA-2026:33215 https://access.redhat.com/errata/RHSA-2026:33215

Comment 8 errata-xmlrpc 2026-06-30 19:05:01 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 10

Via RHSA-2026:33685 https://access.redhat.com/errata/RHSA-2026:33685

Comment 9 errata-xmlrpc 2026-07-01 08:59:14 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 9.6 Extended Update Support

Via RHSA-2026:34094 https://access.redhat.com/errata/RHSA-2026:34094


Note You need to log in before you can comment on or make changes to this bug.