Une faille de cryptographie chez une entreprise indienne de certificats a atteint Ethereum, où elle aurait permis à des attaquants d'envoyer discrètement les récompenses de bloc de certains validateurs à eux-mêmes.
Teku, le logiciel utilisé par de nombreux validateurs pour exécuter la version proof-of-stake d'Ethereum, a publié la version 26.10.3 mardi. Besu, qui traite les transactions Ethereum, a publié la version 26.10.2 lundi. Les deux mises à jour cessent de faire confiance aux certificats liés à eMudhra, une autorité de certification indienne, dans leurs images Docker, les versions préemballées que de nombreux opérateurs exécutent.
Les validateurs sont les ordinateurs qui mettent en staking de l'ETH pour sécuriser Ethereum et gagner des frais pour la proposition de blocs. Certains d'entre eux communiquent avec d'autres services via Internet et comptent sur des certificats numériques pour s'assurer qu'ils parlent au bon service.
Le 17 octobre, des chercheurs ont découvert que les clés privées derrière huit autorités de certification intermédiaires d'eMudhra avaient été générées avec trop peu de randomisation.
Cela signifiait que les clés pouvaient être déduites directement des certificats eux-mêmes, qui sont publics. Toute personne détenant ces clés pouvait émettre des certificats que les logiciels non corrigés accepteraient comme authentiques. Les navigateurs ont bloqué les certificats, eMudhra les a révoqués un jour plus tard, et l'entreprise a depuis déclaré qu'elle quittera le métier des certificats.
En savoir plus : Une entreprise qui garantit les sites web possédait des clés secrètes tellement faibles que 8 d’entre elles ont été craquées
Java, le langage de programmation sur lequel Teku et Besu s'exécutent, ne vérifie pas par défaut si un certificat a été révoqué. Ainsi, les images Docker de Teku continuaient à faire confiance aux mauvais certificats même après que les navigateurs les aient abandonnés.
Un attaquant situé entre un validateur et un service auquel il se connecte pourrait se faire passer pour ce service. Dans son avis de sécurité, Teku a indiqué qu'un validateur trompé de cette manière pourrait proposer un bloc dont les frais sont versés à l'adresse de l'attaquant.
Un signataire externe falsifié, le service séparé qui détient les clés du validateur, pourrait remettre des signatures utilisées pour modifier l'endroit où les récompenses sont envoyées, ce que Teku a classé comme la configuration la plus risquée.
« Un nœud Teku par défaut sur mainnet n’est pas affecté et ne nécessite aucune action », ont écrit l’équipe, ajoutant que « aucune exploitation n’a été signalée ». Consensys Diligence, le partenaire sécurité de Teku, a initialement signalé le problème.
Les opérateurs qui exécutent Teku ou Besu directement sur leurs machines, sans Docker, doivent mettre à jour Java eux-mêmes, car la mise à jour du logiciel Ethereum n'affecte pas la liste des certificats approuvés de Java. Les nouvelles images Docker ne corrigent pas non plus Java installé sur l'hôte.
Cependant, ceux qui utilisent encore Java 26 ont une correction plus difficile. Teku a indiqué que cette version n'est plus prise en charge et ne recevra pas de version corrigée ; ces opérateurs doivent donc passer à Java 25.




