CVE-2026-82942: Apache bRPC: Race Condition on the Shared Socket Input Buffer in the RDMA Transport Causes Remote Denial of Service
A data race in the RDMA transport of Apache bRPC (versions < 1.18.0) allows a remote client to crash the server process (denial of service) when RDMA is enabled at build time and runtime.
Root Cause: When a bRPC server negotiates RDMA with a client, the handshake completes on the TCP fd, but the server kept parsing that fd afterwards as if it were still an RPC channel. The TCP-fd input stream and the RDMA QP input stream (driven by CQ events) shared the same Socket::readbuf, preferredindex and parsingcontext without synchronization. In addition, CQ event processing could start while the handshake parsing was still in progress, and the handshake ACK phase could consume bytes belonging to the next protocol. A remote, unauthenticated client that has completed the RDMA handshake can send data on the TCP fd at the same time RDMA messages are being processed, corrupting the shared input buffer and parser state and crashing the server process (CWE-362, availability impact).
Affected Scenarios: Use a bRPC server with RDMA support enabled (built with BRPCWITHRDMA and serving rdma:// / SOCKETMODERDMA sockets) and accept connections from untrusted clients. Deployments without RDMA are not affected.
How to Fix: (Choose one of the following options) 1. Upgrade bRPC to version 1.18.0, which fixes this issue. 2. Apply this patch: https://github.com/apache/brpc/pull/3505
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Apache bRPCto a version that resolves this vulnerability.Fixed in 1.18.0
Event History
Frequently Asked Questions
Which deployments are exposed?
Servers running a version earlier than 1.18.0 are exposed when RDMA support is enabled both at build time and runtime, including deployments serving rdma:// or SOCKET_MODE_RDMA sockets. Deployments without RDMA are not identified as affected.
What does an attacker need to do to trigger the issue?
An unauthenticated remote client must complete the RDMA handshake, then send data on the TCP file descriptor while RDMA messages are processed. This can corrupt shared input-buffer and parser state and crash the server process.
What is the impact of successful exploitation?
Successful exploitation causes a denial of service by crashing the server process. The provided information identifies availability impact.