Le wallet Bitcoin Electrum a publié la version 4.8.3 le 24 octobre pour corriger une vulnérabilité de gravité élevée permettant à des serveurs malveillants de rediriger les paiements Bitcoin vers des attaquants. Cette vulnérabilité affecte toutes les versions antérieures à la 4.8.3. Le correctif a été tagué dans le dépôt de code le 23 octobre, et les versions exécutables sont devenues disponibles le jour suivant.
L'attaque exploite la confiance d'Electrum en les serveurs lors de la gestion des transactions non confirmées. Un serveur compromis peut retenir le paiement réel de l'utilisateur et le remplacer par une transaction conflictuelle contenant l'adresse de destination de l'attaquant et une commission nulle. Electrum affichait précédemment la transaction substituée comme légitime dans l'historique du wallet sans vérifier les signatures. La commission nulle fait apparaître le paiement comme bloqué.
Un utilisateur qui augmente les frais apparents du paiement signe et diffuse une nouvelle transaction valide qui envoie des fonds à l'attaquant. Le paiement original n'atteint jamais le réseau, ce qui fait de la transaction avec des frais augmentés le premier paiement effectivement diffusé. SomberNight, développeur d'Electrum qui a publié l'avis, a déclaré que les attaquants peuvent générer une adresse de destination dont les quatre derniers caractères correspondent à ceux de l'adresse du destinataire prévu. Un utilisateur ne vérifiant que ces caractères verrait donc une correspondance apparente.
Le conseil indique que certains serveurs mènent activement l'attaque et cite deux signalements d'utilisateurs. Un utilisateur identifié comme dannydeezy a signalé pour la première fois une activité suspecte sur les serveurs le 11 octobre. Cette transaction manipulée est restée sur le serveur local, et aucun fonds n'a été perdu. Un second utilisateur, Raju-K12, a signalé avoir perdu des fonds le 18 octobre après avoir augmenté les frais sur une transaction manipulée.
La version 4.8.3 vérifie les signatures cryptographiques des entrées appartenant au wallet avant d'enregistrer une transaction non confirmée dans l'historique local. Ce correctif empêche un serveur d'insérer une transaction falsifiée impliquant les adresses de l'utilisateur sans signatures valides, que les attaquants ne peuvent pas falsifier. Toutefois, Electrum accepte toujours les transactions entrantes sans vérifier les signatures lorsque aucune des entrées n'appartient au wallet récepteur. SomberNight a reconnu le reste de la faille dans l'avis et a déclaré que la résolution de cette lacune nécessiterait davantage de travail.
Electrum a précédemment fait l'objet d'une campagne lancée en 2018 utilisant des serveurs malveillants pour afficher des notifications de mise à jour frauduleuses. Cette campagne avait volé environ 25 millions de dollars aux utilisateurs d'Electrum d'ici 2020. Electrum permet à quiconque d'exploiter un serveur, rendant ce type d'attaque possible.
Les utilisateurs se connectant uniquement à un serveur qu'ils exploitent eux-mêmes ne sont pas affectés. Les utilisateurs unable de mettre à jour immédiatement doivent vérifier manuellement les adresses de destination et les montants avant de signer toute transaction. Electrum 4.8.3 est disponible sur le site web du projet et sur GitHub.

