CVE-2026-45852: RDMA/rxe: Fix double free in rxe_srq_from_init
In the Linux kernel, the following vulnerability has been resolved: RDMA/rxe: Fix double free in rxe_srq_from_init In rxe_srq_from_init(), the queue pointer 'q' is assigned to 'srq->rq.queue' before copying the SRQ number to user space. If copy_to_user() fails, the function calls rxe_queue_cleanup() to free the queue, but leaves the now-invalid pointer in 'srq->rq.queue'. The caller of rxe_srq_from_init() (rxe_create_srq) eventually calls rxe_srq_cleanup() upon receiving the error, which triggers a second rxe_queue_cleanup() on the same memory, leading to a double free. The call trace looks like this: kmem_cache_free+0x.../0x... rxe_queue_cleanup+0x1a/0x30 [rdma_rxe] rxe_srq_cleanup+0x42/0x60 [rdma_rxe] rxe_elem_release+0x31/0x70 [rdma_rxe] rxe_create_srq+0x12b/0x1a0 [rdma_rxe] ib_create_srq_user+0x9a/0x150 [ib_core] Fix this by moving 'srq->rq.queue = q' after copy_to_user.
Metrics
- CVSS v3.1
- 7.8
- Severity
- HIGH
- Fixed in
- 0
- Affected Products
- 2
Fix available
- Linux / Linux< 22b8c23a3b92d023614bb00896fe364b2c1a31d3 (from aae0484e15f062ad2c2502e68e15dfb8b8f84608) · < af5956243018918130d52c9f671efdb40bab3366 (from aae0484e15f062ad2c2502e68e15dfb8b8f84608) · < d286f0d4e3ad3caf5f0e673cdad7bf89bf37d947 (from aae0484e15f062ad2c2502e68e15dfb8b8f84608) · < 26793db60925df1e88a29466813d586cbc190b8c (from aae0484e15f062ad2c2502e68e15dfb8b8f84608) · < ce6f8e007682f378279d4cf83b240f12d52c723b (from aae0484e15f062ad2c2502e68e15dfb8b8f84608) · < 5c07aef09a121a4cd622a71eb0753a9e135c84a8 (from aae0484e15f062ad2c2502e68e15dfb8b8f84608)
- Linux / Linux4.20Fixed in 0, 5.10.252, 5.15.202, 6.1.165, 6.6.128, 6.12.75, 6.18.14, 6.19.4, 7.0
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H