Linux Kernel xprtrdma Early Exit Path re_receiving Decrement Vulnerability Causes Denial-of-Service

Vulnerability

A denial-of-service vulnerability has been identified in the Linux kernel's xprtrdma component. This issue arises when the rpcrdma_post_recvs() function fails to allocate memory for a work request or exits prematurely. In such cases, the re_receiving counter is not decremented, leading to a hang in the rpcrdma_xprt_drain() function. This hang prevents the completion of the operation, causing a task to be blocked for an extended period. On systems under high memory pressure, this can result in noticeable performance degradation, with tasks being reported as hung for over 120 seconds.

Impact

Exploitation of this vulnerability leads to a hung task condition, where the system's workqueue becomes blocked, causing delays in processing and potential performance issues.

Reproduction

To reproduce this vulnerability, induce a memory allocation failure in the rpcrdma_post_recvs() function while it is managing the re_receiving counter. This can be done by simulating high memory pressure conditions that prevent successful memory allocation. Once the function exits early without decrementing the re_receiving counter, the rpcrdma_xprt_drain() function will hang, as the counter will not reach zero, leaving the completion process untriggered.

Remediation

This vulnerability has been addressed in the Linux kernel. Users should upgrade to the latest version where this issue has been fixed.

Added: May 8, 2026, 7:03 PM
Updated: May 8, 2026, 7:03 PM

Vulnerability Rating

Custom Algorithm
spread
9.0
impact
2.5
exploitability
3.9
remediation
7.7
relevance
7.8
threat
4.8
urgency
2.9
incentive
0.0

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.