Besu divulgue cinq failles trouvées par CertiK après les avoir corrigées dans la version 26.7.1, publiée le 27 juillet.
Résumé
- Besu a corrigé cinq vulnérabilités signalées par CertiK dans la version 26.7.1 avant de publier publiquement les avis techniques complets par la suite.
- CertiK a trouvé des risques d'épuisement des ressources dans les interfaces réseau, RPC, WebSocket et de consensus lors de recherches de sécurité indépendantes.
- La divulgation coordonnée a donné aux opérateurs de Besu le temps de mettre à niveau avant que des informations détaillées sur les vulnérabilités ne soient rendues publiques.
Besu a publié des avis détaillés le 14 août couvrant cinq vulnérabilités de sécurité Besu trouvées par CertiK et corrigées dans la version 26.7.1, publiée le 27 juillet.
Les problèmes affectaient le client Ethereum basé sur Java dans les interfaces pair-à-pair, RPC, WebSocket et de consensus. Dans les configurations concernées, ils pouvaient épuiser la mémoire ou la capacité des threads et perturber la disponibilité des nœuds ou le traitement du consensus. CertiK a trouvé les failles grâce à des tests auto-dirigés sur un réseau Besu privé multi-nœuds et les a signalées en privé à l'équipe du projet.
Besu 26.7.1 publié avant les détails techniques
Besu a d'abord publié la version 26.7.1 le 27 juillet en tant que mise à jour de sécurité et a exhorté les utilisateurs à mettre à niveau. La version corrigeait les cinq constatations de CertiK ainsi que d'autres problèmes de sécurité. La page de version GitHub de Besu identifie 26.7.1 comme une mise à jour axée sur la sécurité et crédite CertiK et EF Security pour la divulgation responsable. Les notes de version ont également introduit des limites affectant les filtres JSON-RPC et les abonnements WebSocket.
Les détails techniques sont devenus publics le 14 août, lorsque Besu a publié quatre avis couvrant les cinq constatations de CertiK. Chaque avis identifiait la version 26.7.1 comme la version corrigée. Le calendrier signifiait que les opérateurs avaient accès au correctif avant que des informations détaillées sur les faiblesses ne soient rendues publiques. Cette séquence coordonnée a donné aux utilisateurs le temps de mettre à niveau tout en réduisant l'exposition inutile aux détails avant que la remédiation ne soit disponible.
Divulgation coordonnée et tests indépendants
CertiK a signalé les cinq constatations directement à l'équipe Besu. Les chercheurs ont également fourni des harnais de test de preuve de concept reproductibles que Besu pouvait utiliser pour examiner le comportement. Les deux équipes ont coordonné en toute confidentialité pendant que Besu évaluait et corrigeait les problèmes. Ils ont rendu les informations techniques publiques seulement après que la version corrigée était disponible, suivant un processus de divulgation responsable décrit dans le matériel source.
CertiK a identifié les vulnérabilités de sécurité de Besu lors de recherches auto-dirigées utilisant sa méthodologie de test adversarial Chain Scan. Le travail a utilisé un réseau de test Besu privé multi-nœuds. Les chercheurs ont introduit des fautes contrôlées dans les interfaces pair-à-pair, RPC HTTP, RPC WebSocket et de consensus. Ils ont utilisé ces tests pour examiner les risques de disponibilité et d'épuisement des ressources dans des conditions contrôlées plutôt que par le biais d'un engagement client.
Les vulnérabilités de sécurité de Besu ont soulevé des risques de ressources
La recherche n'avait pas de portée commerciale. CertiK a évalué les cinq constatations de gravité Mineure à Majeure. Les zones affectées comprenaient le traitement des annonces de blocs, la mise en mémoire tampon des propositions de consensus de hauteur future, les limites d'abonnement WebSocket et la création de filtres JSON-RPC sans plafonds efficaces. Ces zones touchent la façon dont un nœud gère les messages réseau, les abonnements, les demandes distantes et les données liées au consensus.
Dans les configurations concernées, les faiblesses pouvaient consommer la mémoire du nœud ou les threads disponibles. Cette pression sur les ressources pouvait interférer avec la disponibilité du nœud ou le traitement du consensus. Deux corrections visibles dans la version 26.7.1 ont ajouté des limites pour les filtres JSON-RPC actifs et les abonnements WebSocket, fermant les chemins de croissance illimitée des ressources. Besu a exhorté les opérateurs à passer à la version corrigée lors de la publication de la mise à jour.
Les avis ajoutent un registre public de la remédiation
La publication des avis par Besu a créé un registre public des cinq constatations et de leur remédiation. Les notes de version du projet ont également reconnu CertiK et EF Security pour leurs divulgations responsables respectives. Besu est un client Ethereum open source écrit en Java et sous licence Apache 2.0, selon Linux Foundation Decentralized Trust. Le projet prend en charge les cas d'utilisation de réseaux publics et privés.
Besu sert de client d'exécution sur le réseau principal Ethereum et les testnets, tout en prenant en charge les réseaux privés d'entreprise. Il fournit une interface en ligne de commande, une API JSON-RPC et une API de plugin pour les opérations de nœud et les extensions. CertiK, fondée en 2017 par des professeurs de l'Université Yale et de l'Université Columbia, affirme avoir détecté plus de 119 000 vulnérabilités et protégé plus de 600 milliards de dollars d'actifs numériques dans plus de 150 pays et régions.






