- Selon les développeurs d’Ethereum, le réseau de test Sepolia a subi une attaque après le déploiement de Pectra.
- Un correctif privé a été déployé pour empêcher l’espionnage du chat par l’attaquant.
La mise à jour d’Ethereum Pectra a récemment été mise en ligne sur le réseau de test Sepolia et a rencontré des erreurs aggravées par les activités d’un attaquant. Les développeurs d’Ethereum ont déclaré que l’attaque avait profité d’un cas de figure manqué dans le contrat ERC20.
Sepolia produit des blocs vides : Pourquoi ?
Comme nous l’avons indiqué dans notre dernier rapport, les développeurs d’Ethereum ont activé avec succès la mise à jour Pectra sur le réseau de test Sepolia le 5 mars. L’objectif est de tester les fonctionnalités de la mise à jour Pectra dans des conditions de réseau simulées.
Cependant, dans un billet publié le 8 mars, Marius van der Wijden, développeur Ethereum, a révélé que Sepolia avait rencontré des difficultés peu après l’activation. Selon le développeur, l’équipe a remarqué des messages d’erreur sur leur nœud geth et l’exploitation de blocs vides.
Le message d’erreur est le suivant : « Unable to parse deposit data : deposit wrong length : want 576, have 32. » Les développeurs d’Ethereum en ont déduit que l’erreur provenait d’un événement de transfert au lieu d’un dépôt.
M. Van der Wijden a déclaré que l’équipe avait rapidement pris des mesures pour résoudre le problème. Pour assurer un déploiement en douceur, l’équipe a remplacé les transactions qui déclenchaient continuellement le cas limite.
Cependant, M. Van der Wijden a fait remarquer qu’ils avaient oublié un cas limite dans la spécification de l’ERC20. Un utilisateur inconnu a rapidement profité de cette faille pour envoyer un transfert de 0 jeton à l’adresse de dépôt, ce qui a de nouveau déclenché l’erreur.
« Après quelques minutes, nous avons de nouveau vu un grand nombre de blocs vides, nous avons donc regardé de nouveau dans les pools de transactions et nous avons trouvé une autre transaction incriminée qui a déclenché les mêmes cas limites », explique M. Van der Wijden.
Le développeur explique que l’équipe a d’abord pensé que quelqu’un parmi les validateurs de confiance avait fait une erreur. Cependant, ils ont rapidement appris que cette transaction provenait d’un nouveau compte que le robinet avait récemment financé. Cela les a amenés à penser que quelqu’un avait découvert un cas limite dans le contrat ERC20 qu’ils n’avaient pas vu.
Les développeurs d’Ethereum mettent fin à l’attaque Sepolia
Les développeurs d’Ethereum ont rapidement déployé un correctif privé pour empêcher l’attaquant de causer d’autres dommages. M. Van der Wijden a expliqué qu’ils avaient choisi ce correctif parce qu’ils soupçonnaient l’attaquant de lire leurs discussions.
Le développeur a précisé que l’équipe n’avait mis à jour que quelques nœuds qu’elle contrôlait afin d’obtenir davantage de blocs complets sur le réseau. Le correctif a simplement filtré les transactions qui faisaient des appels directs au contrat de dépôt.
Une fois tous les nœuds ef_devops mis à jour, ils ont recommencé à proposer des blocs complets. Cela a permis aux utilisateurs de continuer à utiliser la chaîne jusqu’à ce qu’ils coordonnent le déploiement du véritable correctif.
À 14 heures ce jour-là, tous les nœuds ont été mis à jour avec les nouvelles versions contenant le véritable correctif, et la transaction de l’attaquant a été minée avec succès. M. Van der Wijden a assuré aux utilisateurs qu’ils n’avaient jamais perdu la finalisation au cours de l’incident. Il a précisé que le problème ne s’était produit qu’à Sepolia parce que la société utilisait un contrat de dépôt avec jeton au lieu du contrat de dépôt normal du réseau principal.
Comme nous l’avons souligné dans notre précédent article, la mise à jour Ethereum Pectra ajoute 11 nouvelles fonctionnalités, y compris des améliorations en matière d’évolutivité. Les développeurs d’Ethereum ont déjà essayé la mise à jour Pectra sur le réseau de test Holesky le 26 février, mais ont découvert des problèmes. En conséquence, les développeurs ont choisi de reporter la mise à jour Pectra jusqu’à ce que des tests supplémentaires soient effectués.