Contexte et portée
Radicle est une pile de collaboration de code peer‑to‑peer, local‑first, construite sur Git. Le 23 septembre 2026, les développeurs ont annoncé deux vulnérabilités critiques dans le protocole réseau utilisé par les nœuds Radicle. Toutes les versions publiées à ce jour sont concernées, car le protocole ne chiffre ni n’authentifie le trafic entre les nœuds. La divulgation provient de rapports de Konstantinos Maninakis (24 juin 2026) et de l’utilisateur « cryptocode » (12 août 2026).
Mécanisme des vulnérabilités
Première faille : le transport en clair permet à tout observateur du chemin réseau de lire les objets Git échangés. La vérification des références signées reste fonctionnelle, mais elle ne protège pas la confidentialité. Deuxième faille : l’authentification du nœud lors de la poignée de main est rompue. Un attaquant peut présenter un Node ID falsifié et, si cet ID figure sur la liste d’autorisation, accéder directement à un dépôt privé sans être sur le même segment réseau. L’exploitation combinée nécessite que l’attaquant voie les deux Node ID sur le chemin, ce qui est fréquent dans un réseau P2P.
Conséquences pour les dépôts privés
Pour les dépôts publics, la lecture du trafic représente un risque limité. En revanche, les dépôts privés peuvent être entièrement exposés. Les auteurs recommandent d’arrêter immédiatement l’utilisation des dépôts privés sur le réseau et de cesser le « seeding » de ces dépôts. Les commandes suivantes permettent de bloquer le partage :
rad ls --private --all
rad block <RID>
rad node stopCes actions n’effacent pas les copies locales, qui restent dans le répertoire $(rad path)/storage/<RID>. Elles n’empêchent pas les pairs déjà synchronisés de conserver les données, d’où la nécessité de demander à chaque pair de bloquer le même dépôt.
Plan de mitigation et migration
Une mise à jour compatible n’est pas possible, car le protocole actuel ne supporte pas la négociation de version. Le correctif nécessitera donc une augmentation du numéro de version majeure. L’équipe travaille à remplacer le protocole propriétaire basé sur Noise par iroh, une pile réseau P2P open‑source qui utilise des standards ouverts et offre la traversée NAT. Cette migration introduira une partition du réseau : les nœuds mis à jour ne pourront plus communiquer avec les nœuds anciens, ce qui crée un scénario de fragmentation temporaire. Le stockage des objets Git et les références signées restent inchangés, limitant l’impact sur la couche de persistance. Les utilisateurs doivent préparer la transition en sauvegardant leurs dépôts privés, en révoquant les identifiants exposés et en planifiant le redémarrage du nœud après la mise à jour.