CVE-2026-82942 in bRPC
Zusammenfassung
von VulDB • 21.10.2026
Ein Datenrennen (Race Condition) im RDMA-Transport von Apache bRPC (Versionen < 1.18.0) ermöglicht es einem Remote-Client, den Serverprozess zum Absturz zu bringen (Denial of Service), wenn RDMA zur Build-Zeit und zur Laufzeit aktiviert ist.
Ursache: Wenn ein bRPC-Server mit einem Client eine RDMA-Aushandlung durchführt, wird der Handshake über das TCP-FD abgeschlossen, aber der Server fuhr fort, dieses FD weiterhin zu parsen, als wäre es noch ein RPC-Kanal. Der Eingabestream des TCP-FDs und der Eingabestream des RDMA-QP (gesteuert durch CQ-Ereignisse) teilten sich denselben Socket::_read_buf, preferred_index und parsing_context ohne Synchronisation. Darüber hinaus konnte die Verarbeitung von CQ-Ereignissen beginnen, während das Handshake-Parsing noch im Gange war, und die ACK-Phase des Handshakes könnte Bytes verbrauchen, die zum nächsten Protokoll gehören. Ein Remote-, nicht authentifizierter Client, der den RDMA-Handshake abgeschlossen hat, kann gleichzeitig Daten über das TCP-FD senden, während RDMA-Nachrichten verarbeitet werden, wodurch der gemeinsame Eingabepuffer und der Parser-Zustand beschädigt und der Serverprozess zum Absturz gebracht wird (CWE-362, Auswirkung auf die Verfügbarkeit).
Betroffene Szenarien: Verwenden Sie einen bRPC-Server mit aktivierter RDMA-Unterstützung (erstellt mit BRPC_WITH_RDMA und bedient rdma:// / SOCKET_MODE_RDMA-Sockets) und akzeptieren Sie Verbindungen von nicht vertrauenswürdigen Clients. Bereitstellungen ohne RDMA sind nicht betroffen.
Lösung: (Wählen Sie eine der folgenden Optionen) 1. Aktualisieren Sie bRPC auf Version 1.18.0, die dieses Problem behebt. 2. Wenden Sie diesen Patch an: https://github.com/apache/brpc/pull/3505
If you want to get best quality of vulnerability data, you may have to visit VulDB.