A Thrift client in Apache bRPC (version < 1.18.0, built with WITH_THRIFT which is off by default)...
Paquets affectés
| Écosystème | Paquet | Concernées | Corrigé |
|---|---|---|---|
| Apache Software Foundation | Apache bRPC |
< 1.18.0 |
1.18.0 |
Description d'origine La description telle que publiée par la source (souvent en anglais).
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:
- Upgrade bRPC to version 1.18.0, which fixes this issue.
- Apply this patch: https://github.com/apache/brpc/pull/3500
Source: NIST National Vulnerability Database NVD GitHub Advisory
Références
- web lists.apache.org
- web nvd.nist.gov
- web github.com