Blockaid a averti le 5 novembre qu'un bug dans le client d'exécution reth et les logiciels construits sur celui-ci, notamment op-reth, peut entraîner le calcul de racines d'état incorrectes par les nœuds. Les nœuds non corrigés peuvent se bloquer ou renvoyer des preuves d'état incorrectes, a déclaré l'entreprise.
« Il s'agit d'un bug de correction, et non d'une exploitation », a déclaré Blockaid, signalant aucune perte de fonds connue. Son alerte concerne les clients basés sur reth sur plusieurs réseaux compatibles Ethereum, y compris de nombreuses chaînes OP Stack.
https://x.com/i/status/2118405438291198020
Le risque concerne le logiciel qui exécute les transactions et maintient la vue du nœud sur la blockchain. La documentation op-reth d'Optimism indique que le client exécute les blocs de la couche 2, maintient l'état de la chaîne et répond aux demandes des applications. Des preuves incorrectes peuvent compromettre la vérification sur laquelle ces applications comptent.
Les versions corrigées sont disponibles
Blockaid identifié trois versions corrigées :
Le correctif upstream reth a été fusionné le 3 novembre. Les notes de version de Base indiquent explicitement que cette mise à jour empêche un déséquilibre de racine d'état et recommandent aux opérateurs de Base Mainnet et Sepolia de mettre à niveau dès que possible.
Celo et Mantle ont également fusionné des rétroportages, appliquant la correction aux anciennes lignes de logiciels. Le correctif de Mantle cible sa ligne de production v1.6.2. L'alerte de Blockaid n'a pas précisé la gamme complète des versions vulnérables.
Blockaid a exhorté les opérateurs de nœuds et les fournisseurs RPC à effectuer une mise à jour, et les protocoles et ponts à confirmer que leurs fournisseurs sont corrigés.
Pourquoi les preuves incorrectes comptent
L'explication du correctif de Celo décrit comment le bogue peut ignorer une entrée nouvellement insérée lors de la mise à jour de la structure de données utilisée pour calculer la racine d'état — le résumé cryptographique contre lequel les données de compte et de stockage de contrat peuvent être vérifiées.
La spécification eth_getProof décrit des preuves permettant aux applications de vérifier les valeurs de compte et de stockage par rapport à la racine d'état d'un bloc. Cela rend la distinction entre la réponse d'un nœud et une racine de confiance cruciale pour les ponts, les clients légers et les contrats s'appuyant sur de telles preuves : une réponse incorrecte ne constitue pas automatiquement une autorisation valide de transférer des fonds.
Par exemple, la spécification de retrait d'Optimism exige une preuve d'inclusion pour un message de retrait et indique que la transaction est annulée si la vérification de la preuve échoue. Des données de preuve incorrectes peuvent donc empêcher la vérification plutôt que d'établir un vol réussi.
Les précautions ont déjà atteint les utilisateurs DeFi. Gauntlet a déclaré qu'il fermait les files d'attente de fourniture des coffres V1, suspendait les allocations et réduisait son exposition aux actifs pontés via LayerZero, comme The Defiant l'avait précédemment rapporté. Frax a déclaré que ses actifs et contrats n'étaient pas affectés et fonctionnaient normalement, tandis que certaines routes LayerZero étaient temporairement suspendues.
Blockaid a déclaré que LayerZero avait suspendu l'infrastructure hors ligne sur certaines chaînes affectées jusqu'à ce que chacune confirme qu'elle est corrigée, décrivant les messages comme « retardés, non perdus ».




