Le portefeuille Bitcoin Electrum corrige une faille critique qui redirigeait des fonds vers des attaquants
Points clés
- •Electrum 4.8.3, publiée le 24 octobre, corrige un exploit de gravité élevée qui permettait à des serveurs malveillants d'afficher de fausses transactions et de rediriger les paiements à frais majorés vers des adresses contrôlées par des attaquants.
- •La vulnérabilité provenait de l'absence de vérification des signatures par Electrum sur les transactions non confirmées reçues de ses serveurs, permettant à de faux paiements à frais nuls d'apparaître bloqués dans l'historique de l'utilisateur.
- •L'avis de sécurité indique que certains serveurs ont mené l'attaque dans la nature, un utilisateur ayant signalé une perte confirmée le 18 octobre après avoir augmenté les frais d'une transaction manipulée.
- •Le correctif vérifie les signatures cryptographiques des entrées appartenant au portefeuille avant d'ajouter des transactions non confirmées à l'historique, tandis que les transactions entrantes provenant d'expéditeurs externes sont toujours acceptées sans vérification de signature.
- •Les utilisateurs de versions antérieures à la 4.8.3 restent exposés et doivent mettre à jour ou vérifier manuellement les adresses de sortie, tandis que ceux qui se connectent exclusivement à leurs propres serveurs ne sont pas affectés.

Le portefeuille Bitcoin Electrum a publié la version 4.8.3 le 24 octobre avec un correctif pour un exploit de gravité élevée qui permettait à des serveurs malveillants d'injecter de fausses transactions et de tromper les utilisateurs afin qu'ils paient des adresses contrôlées par des attaquants.
La faille affecte toutes les versions du portefeuille antérieures à la 4.8.3, désormais disponible. Au moins un utilisateur a confirmé avoir perdu des fonds à cause de cet exploit.
Comment fonctionne l'attaque
Selon un avis de sécurité publié par le développeur d'Electrum SomberNight, l'attaque exploite le modèle de confiance du portefeuille pour les transactions non confirmées. Lorsqu'un utilisateur diffuse un paiement via un serveur compromis, le serveur peut supprimer la transaction réelle et en injecter une fausse et conflictuelle—affichant l'adresse de sortie d'un attaquant et des frais nuls, ce qui donne l'impression que le paiement est bloqué.
Comme Electrum ne vérifie pas les signatures des transactions non confirmées reçues de son serveur, la transaction falsifiée apparaît dans l'historique du portefeuille comme légitime. Lorsque l'utilisateur augmente les frais de ce qui semble être un paiement bloqué, il signe et diffuse une toute nouvelle transaction valide—dont l'adresse de sortie appartient à l'attaquant. Le paiement initial n'a jamais été envoyé ; l'augmentation des frais est la première transaction qui atteint réellement le réseau, et elle paie l'attaquant.
L'augmentation des frais est en soi une pratique courante de Bitcoin—une méthode standard pour relancer un paiement qui semble bloqué—si bien que la falsification transforme une simple étape de dépannage en moment où les fonds sont détournés. Les frais nuls affichés sur la fausse transaction sont précisément ce qui crée l'impression d'un paiement bloqué.
SomberNight a noté que les attaquants peuvent manipuler (grinder) l'adresse de sortie de la fausse transaction pour qu'elle corresponde aux quatre derniers caractères de la destination prévue par l'utilisateur. Quiconque vérifie uniquement la fin d'une longue adresse Bitcoin verrait une correspondance apparente.
Attaque confirmée dans la nature
L'avis indique que « certains serveurs mènent cette attaque dans la nature », sur la base de deux rapports d'utilisateurs. Un utilisateur identifié comme dannydeezy a signalé pour la première fois le comportement suspect du serveur le 11 octobre ; la transaction manipulée ne s'est jamais propagée au-delà du serveur local, et aucun fonds n'a été perdu. Un second utilisateur, Raju-K12, a signalé une perte confirmée le 18 octobre après avoir augmenté les frais d'une transaction manipulée.
Ce que change le correctif
Le correctif de la 4.8.3 ferme la principale surface d'attaque en vérifiant les signatures cryptographiques des entrées appartenant au portefeuille avant d'ajouter une transaction non confirmée à l'historique local. Un serveur ne peut plus injecter une fausse transaction touchant les propres adresses de l'utilisateur sans fournir de signatures valides—qu'un attaquant ne peut pas falsifier. Le correctif a été étiqueté dans le dépôt le 23 octobre, et les binaires ont été publiés le lendemain sur la page officielle de publication.
Les transactions entrantes provenant d'expéditeurs externes—où aucune des entrées n'appartient au portefeuille de l'utilisateur—sont toujours acceptées sans vérification de signature. SomberNight a reconnu cette lacune persistante dans l'avis, notant que sa fermeture nécessiterait un travail supplémentaire. La manière et le moment où Electrum étendra cette vérification aux transactions provenant de l'extérieur constituent le principal point ouvert à surveiller dans les futures versions.
Une cible familière
Electrum, l'un des plus anciens portefeuilles logiciels Bitcoin, a déjà fait face à des campagnes malveillantes. Une attaque commencée en 2018 utilisait des serveurs véreux pour pousser de fausses notifications de mise à jour, et d'ici 2020 elle avait drainé environ 25 millions de dollars auprès des utilisateurs d'Electrum.
Le modèle de serveurs ouverts du portefeuille—n'importe qui peut exécuter un nœud—est ce qui rend cette classe d'attaque possible. Electrum est un client léger qui s'appuie sur des serveurs externes pour les données de la blockchain plutôt que de télécharger la chaîne complète, un compromis qui rend le portefeuille rapide mais place sa sécurité dans un modèle de confiance orienté serveur, que cet exploit a directement ciblé. Les utilisateurs qui se connectent exclusivement à un serveur qu'ils gèrent eux-mêmes ne sont pas affectés.
Quiconque utilise encore une version antérieure à la 4.8.3 reste exposé, et quiconque ne peut pas mettre à jour immédiatement doit vérifier manuellement les adresses de sortie et les montants avant de signer une transaction. Electrum 4.8.3 est disponible sur electrum.org ainsi que sur le dépôt GitHub du projet.