CVE-2026-82953: Apache bRPC: NULL Pointer Dereference in RTMP createStream Error Path Leading to Remote Denial of Service
NULL pointer dereference in the RTMP protocol implementation in Apache bRPC (version < 1.18.0) on all platforms allows remote attackers to crash the server (denial of service) via a crafted createStream command.
Root Cause: When an RTMP service rejects a createStream request by returning a null stream from RtmpService::NewStream(), the server sends an error response to the client. If writing this rejection response fails (for example, because the client closes the connection immediately after sending the createStream command), the error-handling path in RtmpChunkStream::OnCreateStream() dereferences the null stream pointer to access stream->onfailid, causing the process to crash.
Affected Scenarios: Run an Apache bRPC RTMP server whose RtmpService::NewStream() may return null (i.e., the service rejects createStream requests). A remote client that sends a createStream command and then closes the connection before the rejection response is written can crash the server.
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/3508
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 to this issue?
Deployments running Apache bRPC versions earlier than 1.18.0 are exposed if they operate an RTMP server whose RtmpService::NewStream() can return null when rejecting createStream requests. The issue applies on all platforms.
What must an attacker do to trigger the crash?
A remote client must send a crafted RTMP createStream command that is rejected by the service, then close the connection before the server writes its rejection response. A failure while writing that response causes the null pointer dereference.
Is authentication or local access required?
No authentication or local access requirement is stated. The described attack is performed by a remote RTMP client.
What can be done if an immediate upgrade is not possible?
Apply the referenced patch from Apache bRPC pull request 3508. As a temporary operational mitigation, avoid configurations where RtmpService::NewStream() rejects createStream requests, if that is feasible for the service.
How can I determine whether my service is at risk?
Check whether the bRPC version is earlier than 1.18.0 and whether the RTMP service can return null from RtmpService::NewStream() for a createStream request. Services that never reject createStream requests in this way are not described as affected.