Apache bRPC: Stack Exhaustion via Unbounded Recursion in Redis Reply Parser
Impact
Uncontrolled recursion in the Redis reply parser in Apache bRPC < 1.18.0 allows a remote Redis server peer to crash a bRPC Redis client process by returning a deeply nested RESP array reply. The parser recursed once for each nested array level without enforcing a depth limit. The fix adds a configurable Redis reply depth limit with default value 128 and rejects replies exceeding that limit.
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 Redis reply parser in Apache bRPC < 1.18.0 allows a remote Redis server peer to crash a bRPC Redis client process by returning a deeply nested RESP array reply. The parser recursed once for each nested array level without enforcing a depth limit. The fix adds a configurable Redis reply depth limit with default value 128 and rejects replies exceeding that limit.
Affected Scenarios: Applications using bRPC as a Redis client with ChannelOptions.protocol="redis" and receiving replies from an untrusted or faulty Redis server peer.
How to Fix:
- Upgrade Apache bRPC to 1.18.0.
- Apply the patch from PR https://github.com/apache/brpc/pull/3344 .
Note: After applying the fix, Redis replies with array nesting deeper than redis_max_reply_depth are rejected.
Inside the record
Evidence available
Describes the evidence in this view, not whether the product is safe.
Original records
CVE-2026-54426View 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.