CVE-2026-82231 PUBLISHED

Apache bRPC: Malformed Thrift T_EXCEPTION reply causes process termination in Thrift client

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

A Thrift client in Apache bRPC (version < 1.18.0, built with WITH_THRIFT which is off by default) can be crashed by the server peer it talks to. When the server returns a T_EXCEPTION reply whose exception struct is malformed, the client decodes it without catching what Apache Thrift throws (TProtocolException, TTransportException or std::length_error). The exception unwinds out of the bthread task function and the process calls std::terminate(), terminating the whole process along with every other in-flight RPC.

This is the client response path, so the adversary is the server peer, which THREAT_MODEL.md treats as untrusted. It requires a WITH_THRIFT build (off by default).

How to Fix: 1. Upgrade bRPC to version 1.18.0, which fixes this issue. 2. Apply this patch: https://github.com/apache/brpc/pull/3500

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-248 Uncaught Exception CWE