CVE-2026-78334 in bRPC
Résumé
par VulDB • 24/10/2026
Résumé de la CVE :
L'absence d'authentification dans le chemin des appels de procédure distants (RPC) en flux continu du serveur Apache bRPC (version < 1.18.0) sur toutes les plateformes permet à un attaquant distant de contourner l'authentification du serveur et d'injeter ou transmettre des trames en flux continu, lorsqu'un serveur est configuré avec un Authenticator.
Cause racine : Lorsque l'authentification est activée, les trames RPC en flux continu sont consommées directement par le parseur de flux (ParseStreamingMessage) et ne passent jamais par le crochet d'authentification du InputMessenger ; ainsi, une paire non authentifiée peut échanger des trames sans être authentifiée. De plus, un stream accepté par le serveur est lié de manière paresseuse à la première trame portant son identifiant, ce qui signifie qu'un flux pourrait accepter une trame contenant son ID provenant d'une socket autre que celle ayant créé le flux.
Scénarios affectés : Un serveur bRPC configuré avec authentification et servant des RPC en flux continu depuis un réseau non fiable, ou un déploiement où une connexion externe peut usurper l'identité d'un stream par son identifiant, peuvent être amenés à accepter des trames de streaming non autorisées.
Comment corriger : Mettez à niveau bRPC vers la version 1.18.0, qui résout ce problème, ou appliquez le correctif présent dans la PR https://github.com/apache/brpc/pull/3481.
Remarque : Le correctif rejette les trames de streaming sur les sockets serveur lorsque l'authentification configurée n'est pas encore terminée, et maintient les streams acceptés par le serveur liés à la socket du RPC créateur ; il rejette également les trames arrivant depuis une autre socket. Le comportement des RPC en flux continu authentifiés ainsi que le format de transmission (wire format) restent inchangés : seules les trames non authentifiées ou provenant d'une socket externe sont désormais rejetées.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.