CVE-2026-79704 in bRPCinformation

Résumé

par VulDB • 21/10/2026

Une vulnérabilité de lecture hors limites (out-of-bounds read) existe dans le client RPC en streaming d'Apache bRPC (versions 1.11.0 à 1.17.0 incluses) sur toutes les plateformes. Un client qui crée plusieurs flux au sein d'une seule requête RPC s'attend à ce que la réponse du serveur contienne exactement un extra_stream_id supplémentaire pour chaque flux additionnel. Le chemin de traitement des réponses indexe les identifiants retournés en utilisant le nombre local de flux créés, sans valider préalablement la taille de la liste retournée ; ainsi, un serveur malveillant ou compromis (ou un attaquant sur le trajet) peut déclencher une lecture hors limites dans le client en renvoyant une réponse StreamSettings malformed avec moins d'extra_stream_ids que prévu. Cela peut provoquer l'interruption du processus client (déni de service) ou entraîner la fuite de contenus mémoire non intentionnels vers la gestion des flux suivants ; les identifiants excédentaires n'ont pas de mappage valide client-flux et sont traités de manière incohérente.

Cause racine : Depuis bRPC 1.11.0, un client peut créer plusieurs flux dans une seule RPC via StreamCreate par lots (batch). Le comportement attendu est que la réponse du serveur doit retourner exactement (N-1) extra_stream_ids, où N est le nombre de flux créés localement. Dans Controller::HandleStreamConnection, le chemin de traitement des réponses lit les extra_stream_ids[i-1] pour chaque flux local supplémentaire sans comparer préalablement la taille de la liste retournée avec (N-1). Si le serveur retourne moins d'identifiants, la lecture dépasse la fin de la liste retournée (lecture hors limites) ; s'il en retourne plus, les identifiants excédentaires n'ont pas de flux correspondant côté client.

Scénarios affectés : Un client bRPC utilisant des RPC multi-flux (créant plus d'un flux dans une seule RPC) qui se connecte à un serveur non fiable, malveillant ou compromis, ou à un serveur atteint via un chemin réseau non fiable. Le serveur envoie une réponse StreamSettings malformed pour déclencher le problème.

Comment corriger : (Choisir l'une des options suivantes) 1. Mettre à niveau bRPC vers la version 1.18.0, qui corrige ce problème. 2. Appliquer ce correctif : https://github.com/apache/brpc/pull/3485

Note : Le correctif amène le client à rejeter les réponses dont le nombre d'extra_stream_ids ne correspond pas exactement au nombre de flux clients supplémentaires. De telles réponses incohérentes échouent désormais la RPC avec ERESPONSE et suivent le chemin existant de nettoyage des flux, plutôt que d'être partiellement traitées.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Responsable

Apache

Réserver

25/08/2026

Divulgation

21/10/2026

Modérer

accepté

Entrée

VDB-424766

EPSS

0.00000

KEV

non

Activités

moyen

Sources

Interested in the pricing of exploits?

See the underground prices here!