Correction d’une vulnérabilité critique sur Bitcoin Core

6
671

Le 18 septembre dernier les développeurs de Bitcoin Core, l’implémentation de référence du protocole Bitcoin, mettaient en ligne la version 0.16.3 du logiciel afin de corriger une vulnérabilité révélée la veille par un développeur travaillant sur les protocoles Bitcoin Cash et Bitcoin Unlimited. Contrairement aux erreurs corrigées précédemment par d’autres versions du logiciel, le bug signalé cette fois-ci n’avait rien d’anodin. En effet, sous certaines conditions, il aurait pu permettre à un mineur mal intentionné de réussir des doubles transactions et d’augmenter la quantité totale de bitcoins.

Précisons que cette vulnérabilité, présente depuis un an, est le résultat de modifications introduites sans intentions malicieuses dans la version 0.15 – publiée en septembre 2017 – et reproduites dans les versions 0.15.1, 0.16.0, 0.16.1 et 0.16.2. Précisons également qu’il ne s’agit pas de la première vulnérabilité critique du genre découverte et corrigée sur Bitcoin Core. Le 15 août 2010 Jeff Garzik avait repéré une faille qui avait permis la génération de 92 milliards de bitcoins. Le bug fut rapidement corrigé, mais on avait dû alors revenir à un état antérieur de la blockchain pour annuler cette création frauduleuse de monnaie. La vulnérabilité corrigée par la version 0.16.3 ne nécessitera heureusement pas une mesure aussi extrême puisque la plupart des mineurs ont d’ores et déjà mis à jour le logiciel et que le problème est désormais circonscrit.

 

Chronologie des événements

17 septembre 2018 :

14h57 – Une source anonyme signale le bug à Pieter Wuille, Greg Maxwell, Wladimir Van Der Laan de Bitcoin Core, Deadalnix de Bitcoin ABC, et Nef de Bitcoin Unlimited ;

15h15 – Greg Maxwell partage l’information avec Cory Fields, Suhas Daftuar, Alex Morcos et Matt Corallo ;

17h47 – Matt Corallo identifie un risque d’inflation monétaire ;

19h15 – Matt Corallo tente d’abord de contacter le CEO de la coopérative minière Slushpool afin appliquer rapidement un patch ;

19h29 – Greg Maxwell horodate le hash d’un « test-case » qui démontre la vulnérabilité et le risque d’inflation monétaire ;

20h15 – John Newbery et James O’Beirne, informés de cette vulnérabilité, ont pour mission d’alerter l’écosystème sur la publication d’un correctif corrigeant une « vulnérabilité DoS ». Afin de protéger le système on ne communique pas alors sur la totalité du problème ni sur les risques encourus ;

20h30 – Matt Corallo parle avec le directeur technique et le CEO de Slushpool et partage le patch correctif ;

20h48 – Slushpool confirme la mise à jour ;

21h08 – Une alerte est envoyée à Bitcoin ABC (principale implémentation de Bitcoin Cash) indiquant qu’un correctif serait officiellement publié avant 22h00 ;

21h57 – Bitcoin Core PR 14247 est publié avec un patch et un test démontrant le bogue de déni de service ;

21h58 – Bitcoin ABC publie son propre patch ;

22h07 – Un email de recommandation avec un lien vers Bitcoin Core PR et un patch est envoyé aux membres d’Optech, entre autres ;

23h21 – Bitcoin Core version 0.17.0 est corrigé.

 

18 septembre 2018 :

00h24 – Bitcoin Core version 0.16.3 est corrigé ;

20h44 – Les versions binaires de Bitcoin Core 0.16.3 et les annonces de versions sont disponibles ;

21h47 – Bitcointalk et Reddit diffusent des bannières publiques incitant les gens à mettre à niveau le logiciel.

 

20 septembre 2018 :

Les développeurs de Bitcoin Core communiquent sur la vraie nature de la vulnérabilité.

 

Source : bitcoincore.org