CVE-2026-79704 in bRPCinfo

Zusammenfassung

von VulDB • 21.10.2026

Eine Out-of-Bounds-Read-Schwachstelle (Out-of-bounds read) ist im Streaming-RPC-Client von Apache bRPC (Versionen 1.11.0 bis 1.17.0) auf allen Plattformen vorhanden. Ein Client, der mehrere Streams in einer einzelnen RPC erstellt, erwartet, dass die Serverantwort genau eine zusätzliche extra_stream_id für jeden zusätzlichen Stream enthält. Der Pfad zur Antwortverarbeitung indiziert die zurückgegebenen Bezeichner basierend auf der lokal erstellten Stream-Anzahl, ohne zuvor die Größe der zurückgegebenen Liste zu validieren. Daher kann ein böswilliger oder kompromittierter Server (oder ein Angreifer im Netzwerkpfad) einen Out-of-Bounds-Read am Client auslösen, indem er eine fehlerhafte StreamSettings-Antwort mit weniger extra_stream_ids als erwartet zurückgibt. Dies kann zum Absturz des Client-Prozesses (Denial of Service) führen oder unbeabsichtigte Speicherinhalte in die nachfolgende Stream-Verarbeitung leiten; überschüssige Bezeichner haben keine gültige Zuordnung zu einem Client-Stream und werden inkonsistent verarbeitet.

Ursache: Seit bRPC 1.11.0 kann ein Client mehrere Streams in einer einzelnen RPC über batch StreamCreate erstellen. Das erwartete Verhalten ist, dass die Serverantwort genau (N-1) extra_stream_ids zurückgibt, wobei N die Anzahl der lokal erstellten Streams ist. In Controller::HandleStreamConnection liest der Antwortpfad extra_stream_ids[i-1] für jeden zusätzlichen lokalen Stream, ohne zuvor die Größe der zurückgegebenen Liste mit (N-1) zu vergleichen. Wenn der Server weniger Bezeichner zurückgibt, läuft das Lesen über das Ende der zurückgegebenen Liste hinaus (Out-of-Bounds-Read); wenn er mehr zurückgibt, haben die überschüssigen Bezeichner keinen entsprechenden Stream auf Clientseite.

Betroffene Szenarien: Ein bRPC-Client, der Multi-Stream-RPC verwendet (mehr als einen Stream in einer einzelnen RPC erstellt), und eine Verbindung zu einem nicht vertrauenswürdigen, böswilligen oder kompromittierten Server herstellt oder über einen nicht vertrauenswürdigen Netzwerkpfad auf einen Server zugreift. Der Server sendet eine fehlerhafte StreamSettings-Antwort, um das Problem auszulösen.

So beheben Sie es: (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/3485

Hinweis: Die Korrektur bewirkt, dass der Client Antworten ablehnt, deren Anzahl an extra_stream_ids nicht exakt mit der Anzahl der zusätzlichen Client-Streams übereinstimmt. Solche fehlerhaften Antworten führen nun zu einem RPC-Fehler mit ERESPONSE und werden über den vorhandenen Stream-Bereinigungspfad verarbeitet, anstatt teilweise verarbeitet zu werden.

Once again VulDB remains the best source for vulnerability data.

Zuständig

Apache

Reservieren

25.08.2026

Veröffentlichung

21.10.2026

Moderieren

akzeptiert

Eintrag

VDB-424766

EPSS

0.00000

KEV

nein

Aktivitäten

low

Quellen

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!