CVE-2025-59789 Apache bRPC: Stack Exhaustion via Unbounded Recursion in JSON Parser
Remote attackers can crash Apache bRPC servers by sending deeply nested JSON data, causing stack exhaustion in the JSON parser.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- None listed
What is CVE-2025-59789?
CVE-2025-59789 is a high-severity denial of service vulnerability in Apache bRPC, published on 1 Dec 2025. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
Uncontrolled recursion in the json2pb component in Apache bRPC (version < 1.15.0) on all platforms allows remote attackers to make the server crash via sending deep recursive json data.
Root Cause: The bRPC json2pb component uses rapidjson to parse json data from the network. The rapidjson parser uses a recursive parsing method by default. If the input json has a large depth of recursive structure, the parser function may run into stack overflow.
Affected Scenarios: Use bRPC server with protobuf message to serve http+json requests from untrusted network. Or directly use JsonToProtoMessage to convert json from untrusted input.
How to Fix: (Choose one of the following options) 1. Upgrade bRPC to version 1.15.0, which fixes this issue. 2. Apply this patch: https://github.com/apache/brpc/pull/3099
Note: No matter which option
you choose, you should know that the fix introduces a recursion depth limit with default value 100. It affects these functions:
ProtoMessageToJson, ProtoMessageToProtoJson, JsonToProtoMessage, and ProtoJsonToProtoMessage.
If your requests contain json or protobuf messages that have a depth exceeding the limit, the request will be failed after applying the fix. You can modify the gflag json2pb_max_recursion_depth to change the limit.
Weakness: CWE-674
Which versions are affected by CVE-2025-59789?
It affects 1 product.
Products include Apache Brpc.
How do I fix CVE-2025-59789?
No fix has been published for CVE-2025-59789 yet. Limit exposure of the affected software until one is available.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2025-59789 being exploited?
There is no known exploitation of CVE-2025-59789 in the wild and no public exploit code.
Other vulnerabilities in Apache bRPC
- CVE-2025-60021 Apache bRPC: Remote command injection vulnerability in heap builtin service
- CVE-2023-31039 Apache bRPC: ServerOptions.pid_file may cause arbitrary code execution
- CVE-2025-54472 Apache bRPC: Redis Parser Remote Denial of Service
- CVE-2024-23452 Apache bRPC: HTTP request smuggling vulnerability
- CVE-2023-45757 Apache bRPC: The builtin service rpcz page has an XSS attack vulnerability
Sources
Also known as GHSA-x4fp-gjpv-c6r5.