Ethereum recommande aux développeurs de Go de corriger une faille de division de chaîne

0

Le projet Ethreum recommande aux développeurs d’appliquer un correctif pour écraser une vulnérabilité de haute gravité.

La vulnérabilité de dédoublement de chaîne identifiée comme CVE-2021-39137 a un impact sur « Geth », la mise en œuvre officielle de Golang du protocole Ethereum.

De telles failles peuvent entraîner la corruption des services blockchain et entraîner des pannes massives, comme la panne du réseau Ethereum de l’année dernière.

Détails du vecteur d’attaque retenus pour le moment

Les responsables du projet Ethereum recommandent aux développeurs de Go utilisant « go-ethereum » alias Geth de passer à la version 1.10.8 qui corrige une vulnérabilité de haute gravité.

La vulnérabilité du projet open source Geth peut provoquer une « division de chaîne », ce qui signifie que les instances Geth vulnérables rejetteraient l’acceptation de chaînes canoniques.

L’expert en sécurité logicielle et crypto-fuzzing Guido Vranken de la société de sécurité blockchain Sentnl a découvert la faille lors d’un engagement de sécurité.

Les développeurs d’Ethereum avaient averti tout le monde récemment concernant la version à venir sans trop en révéler:

Jusqu’à ce que la plupart des développeurs aient eu la possibilité de passer à la version corrigée, les détails sur la façon dont la faille peut être exploitée ont été retenus par prudence :

« Le vecteur d’attaque exact sera fourni à une date ultérieure pour donner aux opérateurs de nœuds et aux projets en aval le temps de mettre à jour leurs nœuds et leurs logiciels », a déclaré Péter Szilágyi, chef d’équipe d’Ethereum.

« Toutes les versions de Geth prenant en charge le hard fork London sont vulnérables (le bogue est plus ancien que Londres), donc tous les utilisateurs doivent mettre à jour », a poursuivi Szilágyi.

Les vulnérabilités de la blockchain « divisé en chaîne » sont dangereuses car leur exploitation peut provoquer des pannes, affectant les retraits de crypto-monnaie et l’intégrité globale de la blockchain.

Cela s’est produit l’année dernière lorsque les services s’appuyant sur le réseau Ethereum ont subi une panne et des erreurs de retrait, résultant à nouveau d’un client go-ethereum vulnérable.

Les divisions de chaîne se produisent lorsque différents clients Ethereum ne sont pas d’accord sur ce qui constitue une transaction valide et ce qui ne l’est pas.

Cela signifie que, selon le client utilisé par votre plate-forme, la blockchain d’origine (canonique) peut sembler devenir « fourchue ».

Dans Ethereum, un seul « ordinateur canonique« , également appelé machine virtuelle Ethereum (EVM) maintient un état commun ou un ensemble d’enregistrements sur lesquels chaque nœud présent sur le réseau Ethereum s’accorde.

Chaque service Ethereum conserve une copie de ce qui se trouve sur l’EVM.

Mais, si une division de la chaîne se produit, différents services de blockchain afficheraient désormais des enregistrements non concordants, affectant ainsi l’intégrité et la fiabilité d’un réseau de crypto-monnaie:

ethereum
La division de chaîne peut entraîner une divergence entre les services Ethereum affichant désormais des enregistrements différents
Source : R3 Corda

« La probabilité après tout ce temps que quelqu’un le déclenche accidentellement est infime », explique l’ingénieur logiciel R3 Dimos Raptis, qui est impliqué dans le développement de la blockchain Corda et qui avait analysé la panne d’Ethereum l’année dernière.

L’ingénieur, cependant, ne sous-estime pas la possibilité que des acteurs malveillants exploitent des failles de division de chaîne.

« Contrairement à cela, la probabilité que quelqu’un le déclenche par malveillance s’il est mis en évidence comme un problème de sécurité n’est pas négligeable », prévient l’expert dans son article.

Faille trouvée lors de l’audit de la plateforme de blockchain Telos

Fait intéressant, la faille a été découverte lors d’un audit de la plate-forme Telos EVM, après que Telos ait engagé Sentnl comme auditeur.

Telos est une plate-forme de blockchain de nouvelle génération qui aide à « créer des applications distribuées rapides et évolutives avec des transactions sans sensation ».

« Pour trouver des vulnérabilités dans l’EVM de Telos, je me suis engagé dans un fuzz profond et rigoureux et j’ai vérifié que son comportement correspondait exactement à celui de go-ethereum », a déclaré Vranken.

« Bien que go-ethereum ait des antécédents exceptionnels en matière de sécurité, la procédure a été si efficace qu’elle n’a pas seulement contribué à affirmer l’exactitude de l’EVM de Telos, mais a également trouvé un problème de gravité élevée dans go-ethereum. » a déclaré l’expert en crypto-fuzzing dans un communiqué de presse.

Les services Blockchain et les développeurs s’appuyant sur go-ethereum doivent passer à la version 1.10.8 ou supérieure. Aucune solution de contournement n’est disponible pour le moment.

Laisser un commentaire