Bitcoin Core 31.0 contient une faille de confidentialité : des nœuds malveillants peuvent forcer le déclenchement d’une fuite d’IP

BTC0,91%

Bitcoin Core隱私漏洞

L’équipe de développement de Bitcoin Core a publié le 12 juin sur X pour confirmer qu’une faille de confidentialité existe dans la nouvelle fonctionnalité -privatebroadcast introduite dans la version 31.0 de Bitcoin Core : dans certaines conditions réseau, si la poignée de main v2 échoue, la connexion aux pairs se fera via IPv4 ou IPv6, ce qui divulguera au destinataire l’adresse IP publique de l’expéditeur.

Conditions d’utilisateurs affectés : cinq critères indispensables simultanément

D’après l’annonce officielle de Bitcoin Core, le nœud n’est affecté par cette faille que lorsque les cinq conditions suivantes sont toutes réunies :

· Le nœud exécute Bitcoin Core 31.0 et la fonctionnalité -privatebroadcast est activée

· Les transactions sont diffusées via la commande RPC sendrawtransaction (les RPC du portefeuille comme sendtoaddress, sendall, etc. n’utilisent pas de diffusion privée, et ne sont donc pas affectés)

Tor peut établir des connexions sortantes

· Il est possible d’établir directement des connexions sortantes IPv4 ou IPv6 (sans restriction -onlynet, et sans configuration -proxy=...)

· Le transport BIP324 v2 n’est pas désactivé (aucun paramètre -v2transport=0)

Les connexions aux pairs onion et I2P ne sont pas affectées, car lors de tout nouvel essai en v1, ces connexions passent toujours par leurs routes via le relais de proxy respectif.

Mécanisme technique de la faille : après l’échec du handshake v2, le nouvel essai v1 ne passe pas par Tor

D’après les explications officielles, le mécanisme de déclenchement de la faille est le suivant : lorsque la diffusion privée choisit un pair IPv4 ou IPv6 qui prend en charge v2 (BIP324), la connexion initiale passe comme prévu par les routes via le proxy Tor. Si la poignée de main v2 échoue, Bitcoin Core tente ensuite de réessayer avec le protocole v1 ; ce nouvel essai en v1 ne passe pas par le proxy Tor, mais se fait directement via une connexion IPv4 ou IPv6, ce qui divulgue l’adresse IP de l’initiateur.

Ce comportement enfreint la garantie de confidentialité décrite dans la version 31.0 : « le destinataire ne saura jamais quelles sont ses adresses IP (et sa localisation) ». L’équipe de développement confirme que cette faille est très probablement déclenchée de manière volontaire par des pairs malveillants qui ferment intentionnellement la poignée de main v2 pour forcer un nouvel essai en v1.

Trois solutions temporaires : à utiliser avant la mise à niveau vers 31.1

Bitcoin Core fournit les trois solutions temporaires suivantes :

Solution un (recommandée) : désactiver directement le paramètre -privatebroadcast en le réglant sur -privatebroadcast=0

Solution deux : désactiver le transport v2 en réglant -v2transport=0. Attention : ce réglage fera que toutes les connexions du nœud utiliseront le protocole v1 non chiffré, rendant l’empreinte et la reconnaissance plus faciles sur le réseau public et augmentant le risque de censure.

Solution trois : router le trafic sortant IPv4/IPv6 vers Tor en définissant -proxy=127.0.0.1:9050 (remplacer par le port SOCKS Tor effectif). Attention : ce réglage rendra le nœud plus exposé aux attaques de type Sybil (Sybil Attack).

Questions fréquentes

Les nœuds utilisant des RPC de portefeuille comme sendtoaddress ou sendall sont-ils affectés ?

D’après l’annonce officielle de Bitcoin Core, les RPC du portefeuille (comme sendtoaddress, sendall, etc.) n’utilisent pas la fonctionnalité de diffusion privée ; ils ne sont donc pas affectés par cette faille. Cette faille ne se déclenche que lorsqu’on diffuse via sendrawtransaction et que les quatre autres conditions sont également remplies.

Cette faille peut-elle se produire naturellement sans qu’il y ait besoin de nœuds malveillants ?

D’après les explications officielles, pour les pairs qui prennent réellement en charge le transport v2, l’échec de la poignée de main v2 est peu probable dans des conditions normales. Cette faille est très probablement déclenchée de manière volontaire par des pairs malveillants qui ferment intentionnellement la poignée de main v2 pour forcer un nouvel essai en v1.

Quel est le calendrier de publication de Bitcoin Core 31.1 ?

D’après l’annonce officielle de Bitcoin Core, le correctif sera publié avec la version 31.1, mais l’annonce ne fournit pas de date de publication précise. L’éditeur recommande d’adopter l’une des trois solutions temporaires ci-dessus avant de passer à 31.1.

Avertissement : Les informations figurant sur cette page peuvent provenir de sources tierces et sont fournies à titre indicatif uniquement. Elles ne reflètent pas les points de vue ou opinions de Gate et ne constituent pas un conseil financier, d’investissement ou juridique. Le trading des actifs virtuels comporte des risques élevés. Veuillez ne pas vous fonder uniquement sur les informations de cette page pour prendre vos décisions. Pour en savoir plus, consultez l’avertissement.
Commentaire
0/400
Aucun commentaire