Les développeurs de Bitcoin Core n’ont jusqu’à présent révélé que 10 vulnérabilités affectant les anciennes versions du logiciel, comme le rapporte Bitcoin Optech. Les vulnérabilités, corrigées dans des versions plus récentes, auraient pu permettre diverses attaques sur des nœuds exécutant des versions obsolètes de Bitcoin Core.
Les vulnérabilités sont pertinentes étant donné que les développeurs de Bitcoin Core ont récemment introduit une nouvelle politique de divulgation de sécurité pour améliorer la transparence et la communication concernant les vulnérabilités. Historiquement, le projet a été critiqué pour une divulgation publique inadéquate des bugs critiques pour la sécurité, ce qui a conduit à la perception que Bitcoin Core est exempt de bugs.
Le développeur de Libbitcoin, Eric Voskuil, a écrit, dans un message adressé à la liste de diffusion Bitcoin, que cette perception est trompeuse et potentiellement dangereuse, car elle sous-estime les risques liés à l’exécution de versions logicielles obsolètes.
Vulnérabilités des nœuds Bitcoin actifs
aimarketcap a analysé les nœuds Bitcoin actifs pour identifier combien sont actuellement vulnérables à chaque vecteur d’attaque. Environ 787 (5,94 %) des 14 001 nœuds exécutent des versions antérieures à 0.21.0.
Le réseau reste sécurisé et résistant à toute attaque significative. Pourtant, ce chiffre est suffisamment important pour être considéré comme un problème que la communauté Bitcoin devra peut-être résoudre. Des efforts peuvent être faits pour encourager ces opérateurs de nœuds à passer à des versions plus récentes afin d’améliorer la sécurité globale, l’efficacité et la préparation future du réseau Bitcoin.
Bien qu’il ne s’agisse pas d’un problème critique immédiat, il s’agit sans aucun doute d’une préoccupation qui mérite d’être prise en compte. Il ne s’agit pas d’une menace existentielle pour Bitcoin, car la majeure partie du réseau utilise toujours des logiciels à jour. Cependant, il représente une partie non négligeable du réseau qui pourrait causer des problèmes ou être exploitée dans certaines circonstances. Cela indique un besoin d’une meilleure communication et d’incitations au sein de la communauté Bitcoin pour encourager des mises à jour plus fréquentes.
Risques pour les nœuds Bitcoin actifs
Vulnérabilité | Versions concernées | Nœuds vulnérables |
---|---|---|
Exécution de code à distance en raison d’un bug dans miniupnpc (CVE-2015-6031) | Avant la version 0.11.1 | 22 |
Crash de nœud DoS provenant de plusieurs homologues avec des messages volumineux (CVE-2015-3641) | Avant 0.10.1 | 5 |
Censure des transactions non confirmées | Avant 0.21.0 | 787 |
Liste d’interdiction non liée DoS CPU/mémoire (CVE-2020-14198) | Avant 0.20.1 | 185 |
Netsplit dû à un réglage de temps excessif | Avant 0.21.0 | 787 |
DoS CPU et blocage des nœuds suite à la gestion des orphelins | Avant 0.18.0 | 70 |
DoS de mémoire dû à des messages d’inv volumineux | Avant 0.20.0 | 182 |
DoS de mémoire utilisant des en-têtes à faible difficulté | Avant 0.15.0 | 29 |
DoS gaspillant le processeur en raison de requêtes mal formées | Avant 0.20.0 | 182 |
Crash lié à la mémoire lors des tentatives d’analyse des URI BIP72 | Avant 0.20.0 | 182 |
Selon les informations divulguées, la vulnérabilité la plus répandue affectait les versions antérieures à la version 0.21.0, affectant potentiellement 787 nœuds. Cette faille pourrait permettre la censure des transactions non confirmées et provoquer des divisions de réseau en raison d’ajustements de temps excessifs.
Trois vulnérabilités distinctes affectaient les versions antérieures à la version 0.20.0, chacune pouvant potentiellement affecter 182 nœuds. Il s’agissait notamment d’un déni de service de la mémoire dû à des messages d’inv volumineux, d’un déni de service gaspillant le processeur dû à des requêtes mal formées et d’un crash lié à la mémoire lors de l’analyse des URI BIP72.
Une vulnérabilité DoS CPU/mémoire de liste d’interdiction non liée (CVE-2020-14198) affectait les versions antérieures à 0.20.1, mettant potentiellement en danger 185 nœuds. Les versions antérieures étaient sensibles à d’autres attaques, telles qu’un DoS CPU et un blocage de nœud dû à la gestion des orphelins (avant 0.18.0, affectant 70 nœuds) et un DoS mémoire utilisant des en-têtes de faible difficulté (avant 0.15.0, affectant 29 nœuds).
Les vulnérabilités les plus anciennes divulguées comprenaient un bug d’exécution de code à distance dans miniupnpc (CVE-2015-6031) affectant les versions antérieures à 0.11.1 et un déni de service de plantage de nœud à partir de messages volumineux (CVE-2015-3641) dans les versions antérieures à 0.10.1. Ces vulnérabilités affectaient respectivement 22 et 5 nœuds, ce qui indique que très peu de nœuds exécutent encore des logiciels aussi obsolètes.
Nouvelle politique de divulgation des développeurs Bitcoin
La nouvelle politique classe les vulnérabilités en quatre niveaux de gravité : faible, moyen, élevé et critique. Les bugs de faible gravité, difficiles à exploiter ou ayant un impact minimal, seront divulgués deux semaines après la publication d’une version corrigée, avec une annonce préalable effectuée simultanément.
Les bogues de gravité moyenne et élevée, qui ont des impacts plus importants, seront divulgués deux semaines après la fin de vie de la dernière version affectée, généralement un an après la première publication de la version corrigée. Une pré-annonce sera faite deux semaines avant la divulgation. Les bogues critiques menaçant l’intégrité du réseau nécessiteront une procédure de divulgation ad hoc.
La politique sera mise en œuvre progressivement. Toutes les vulnérabilités corrigées dans les versions 0.21.0 et antérieures de Bitcoin Core seront immédiatement divulguées. En juillet, les vulnérabilités corrigées dans la version 22.0 seront divulguées, suivies de celles corrigées dans la version 23.0 en août. Ce processus se poursuivra jusqu’à ce que toutes les versions EOL aient été traitées.
Cette initiative vise à définir des attentes claires pour les chercheurs en sécurité, les incitant à trouver et à divulguer de manière responsable les vulnérabilités. En rendant les bugs de sécurité accessibles à un groupe plus large de contributeurs, la politique vise à prévenir les problèmes futurs et à améliorer la sécurité globale du réseau Bitcoin.
Selon la liste de diffusion Bitcoin Development, l’adoption progressive de la politique permettra à la communauté de s’adapter et de fournir des commentaires sur son impact.
Il est fortement conseillé aux opérateurs de nœuds utilisant encore les versions affectées de procéder à une mise à niveau vers la dernière version pour atténuer ces risques potentiels.
Mentionné dans cet article