Apache bRPC: Stack Exhaustion via Unbounded Recursion in AMF Parser
Impact
Uncontrolled recursion in the AMF parser in Apache bRPC < 1.18.0 allows a remote RTMP peer to crash a bRPC process by sending deeply nested AMF objects or arrays. The parser recursively processed nested AMF containers without enforcing a depth limit, which could exhaust the native stack.
Source excerpt · apacheWhat to do
Upgrade Apache bRPC to 1.18.0.
Apply the patch from PR https://github.com/apache/brpc/pull/3344 .
Affected packages
Affected products
Vendor version evidence. Product records are separate from automatic dependency matching.
Apache Software Foundation · apache
Apache bRPC
1 range
Apache Software Foundation · apache
Apache bRPC
Package identity
pkg:github/apache/brpcIdentity supplied by apache. Version matching requires compatible range evidence.
Compare with this publisher’s ranges. This does not inspect your installation.
affected
0 → before 1.18.0
semver versions
Other versions: unaffected
Original source description
Uncontrolled recursion in the AMF parser in Apache bRPC < 1.18.0 allows a remote RTMP peer to crash a bRPC process by sending deeply nested AMF objects or arrays. The parser recursively processed nested AMF containers without enforcing a depth limit, which could exhaust the native stack.
Affected Scenarios: Applications using bRPC RTMP support and parsing AMF data from an untrusted RTMP peer. This includes RTMP servers parsing client command messages, RTMP clients parsing server responses or status messages, and either side parsing inbound AMF script data such as metadata or cue points. Direct callers of ReadAMFObject or ReadAMFArray on untrusted input are also affected.
How to Fix:
- Upgrade Apache bRPC to 1.18.0.
- Apply the patch from PR https://github.com/apache/brpc/pull/3344 .
Note: The fix introduces a configurable AMF nesting depth limit with default value 128. AMF objects or arrays deeper than amf_max_depth are rejected after applying the fix.
Inside the record
Evidence available
Describes the evidence in this view, not whether the product is safe.
Original records
CVE-2026-54427View the latest unmodified CVE JSON from the official source. It may be newer than this imported page.
cve.new JSON →Underlying weaknesses
The source’s classification of what caused the vulnerability.
Contributing organizations · 2
Assigning organization
Additional data publisher
What changed
Follow changesLarge field values are marked as truncated previews. Original source snapshots remain retained.