{"id":"CVE-2026-82231","title":"Apache bRPC: Malformed Thrift T_EXCEPTION reply causes process termination in Thrift client","summary":"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 …","severity":"none","cwe":["CWE-248"],"vendor":"Apache Software Foundation","product":"apache/brpc","affected":["apache/brpc < 1.18.0"],"published":"2026-10-21","updated":"2026-10-21","sourceUpdated":"2026-10-21T12:04:19.454Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-82231","references":[{"url":"https://lists.apache.org/thread/2pf15ojj0vr7rtx95677kgtl1mx3gdgb"}],"tags":["cve.org"],"ingestedAt":"2026-10-21T12:48:53.758Z","slug":"CVE-2026-82231","body":"## Overview\n\nA 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.\n\nThis 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).\n\nHow to Fix:\n1. Upgrade bRPC to version 1.18.0, which fixes this issue.\n2. Apply this patch: https://github.com/apache/brpc/pull/3500\n\n## Affected\n\n- `apache/brpc < 1.18.0`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"sunlit","depthScore":3,"depthScoreParts":{"impact":2.8,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}