Bitcoin Lightning Network: bug dangereux corrigé

Un réseau de paiement populaire basé sur la blockchain Bitcoin souffrait d’une vulnérabilité persistante dans le code: les attaquants pouvaient dépenser de l’argent des utilisateurs.

Le développeur Rusty Russell, qui travaillait avec le réseau Bitcoin, avait initialement annoncé le 30 août la vulnérabilité du grand public. Le vendredi, une divulgation complète a été publiée, décrivant en détail la manière dont cette vulnérabilité pourrait être exploitée par un attaquant. Russell a écrit dans un document de divulgation:

Un attaquant peut prétendre ouvrir le canal [payment Lightning], mais ne pas payer le partenaire ou ne pas payer le montant intégral.

Le réseau Lightning est un protocole de paiement de second niveau qui permet des transactions ultra-rapides et presque gratuites basées sur la blockchain Bitcoin. Pour permettre aux utilisateurs d’envoyer des transactions via ce réseau, ils doivent ouvrir les «canaux de paiement» pour envoyer et recevoir des fonds d’autres utilisateurs Lightning.

Sans vérification appropriée, un attaquant peut prétendre ouvrir un nouveau canal de paiement et envoyer de fausses transactions. En étant trompé, un utilisateur honnête peut alors envoyer de l’argent réel à l’attaquant, ne sachant pas que les transactions précédentes étaient complètement artificielles. On ignore combien d’utilisateurs ont été victimes de telles attaques.

Selon Russell, tous les principaux clients du logiciel Lightning ont été mis à jour pour corriger cette vulnérabilité.

Quand on lui a demandé pourquoi il fallait attendre trois mois avant que la vulnérabilité soit révélée aux utilisateurs, Pierre-Marie Padiu, PDG de l’une des sociétés soutenant l’une des trois implémentations Lightning les plus populaires, a déclaré que « les développeurs doivent faire attention », expliquant:

Le problème avec cette vulnérabilité est que dès que vous le découvrez, cela semble tellement évident. Trois mois, ce n’est pas long. C’est une période assez courte car vous devez donner aux utilisateurs le temps nécessaire pour effectuer la mise à niveau. Beaucoup d’utilisateurs ne le font pas.

« Les développeurs Lightning », a-t-il ajouté, « ne veulent pas risquer de révéler la vulnérabilité jusqu’à ce qu’ils soient absolument certains qu’aucun utilisateur n’est en danger ».

Il y a toujours des problèmes. Même le protocole Bitcoin avait des erreurs. Il y aura toujours des erreurs. La chose la plus importante est de savoir comment gérer cela de la meilleure façon de protéger les utilisateurs.