CVE-2025-59789 Apache bRPC: Stack Exhaustion via Unbounded Recursion in JSON Parser

High 7.5 Published Updated

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.

Sources

Also known as GHSA-x4fp-gjpv-c6r5.

Is CVE-2025-59789 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free