Uncontrolled recursion in the Redis reply parser in Apache bRPC < 1.18.0 allows a remote Redis...
Affected packages
| Ecosystem | Package | Affected | Fixed |
|---|---|---|---|
| Apache Software Foundation | Apache bRPC |
< 1.18.0 |
1.18.0 |
Original description The description as published by the source.
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.
Source: GitHub Security Advisories (Global) NVD GitHub Advisory
References
- web nvd.nist.gov
- web security@apache.org
- web github.com