CVE-2026-82230 PUBLISHED

Apache bRPC: Stack Exhaustion via Unbounded Recursion in mcpack2pb Parser

Assigner: apache
Reserved: 28.08.2026 Published: 21.10.2026 Updated: 21.10.2026

Uncontrolled recursion in the mcpack2pb component in Apache bRPC (version < 1.18.0) on all platforms allows remote attackers to make the server crash via sending deeply nested mcpack data.

Root Cause: The bRPC mcpack2pb parser (used to serve nshead_mcpack / ubrpc / public_pbrpc requests) recursively parses nested objects and arrays without any depth limit. For a protobuf message that references itself (e.g. a repeated message field), the generated parser recurses once per nesting level of the incoming mcpack object. A deeply nested request makes the recursion grow unbounded, overflow the stack and crash the process.

Affected Scenarios: Use bRPC server with a recursive-schema protobuf message to serve nshead_mcpack / ubrpc / public_pbrpc requests from untrusted network.

How to Fix: (Choose one of the following options) 1. Upgrade bRPC to version 1.18.0, which fixes this issue. 2. Apply this patch: https://github.com/apache/brpc/pull/3499

Note: No matter which option you choose, you should know that the fix enforces the documented parsing depth limit MAX_DEPTH (128) on the parse path, the same limit the serializer already applies. If your requests contain mcpack messages nested deeper than 128 levels, the request will be failed after applying the fix.

Product Status

Vendor Apache Software Foundation
Product Apache bRPC
Versions Default: unaffected
  • affected from 0 to 1.18.0 (excl.)

Credits

  • Kaixuan Li finder

References

Problem Types

  • CWE-674 Uncontrolled Recursion CWE