CVE-2026-45852
Modified Modified - Updated After Analysis

Double Free in Linux Kernel RDMA/rxe Module

Vulnerability report for CVE-2026-45852, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-05-27

Last updated on: 2026-07-06

Assigner: kernel.org

Description

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-05-27
Last Modified
2026-07-06
Generated
2026-07-06
AI Q&A
2026-05-27
EPSS Evaluated
2026-07-05
NVD
EUVD

Affected Vendors & Products

Showing 7 associated CPEs
Vendor Product Version / Range
linux linux_kernel From 6.13 (inc) to 6.18.14 (exc)
linux linux_kernel From 6.19 (inc) to 6.19.4 (exc)
linux linux_kernel From 6.2 (inc) to 6.6.128 (exc)
linux linux_kernel From 6.7 (inc) to 6.12.75 (exc)
linux linux_kernel From 5.16 (inc) to 6.1.176 (exc)
linux linux_kernel From 5.11 (inc) to 5.15.210 (exc)
linux linux_kernel From 4.19.86 (inc) to 5.10.259 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-415 The product calls free() twice on the same memory address.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability exists in the Linux kernel's RDMA/rxe component, specifically in the function rxe_srq_from_init. The issue arises because a queue pointer is assigned before a copy_to_user() operation. If this copy_to_user() call fails, the function frees the queue memory but leaves an invalid pointer behind. Later, when cleanup functions are called, they attempt to free the same memory again, causing a double free vulnerability.

The problem is fixed by changing the code to assign the queue pointer only after the copy_to_user() call succeeds, preventing the double free scenario.

Impact Analysis

A double free vulnerability can lead to undefined behavior such as memory corruption, system crashes, or potentially allow an attacker to execute arbitrary code with kernel privileges. This can compromise system stability and security.

Mitigation Strategies

The vulnerability is fixed by changing the order of operations in the Linux kernel code, specifically by moving the assignment 'srq->rq.queue = q' after the 'copy_to_user' call to prevent a double free.

To mitigate this vulnerability immediately, you should update your Linux kernel to a version that includes this fix.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-45852. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart