Correction d’un défaut critique du XRP Ledger
Le XRP Ledger a discrètement corrigé un défaut du moteur de paiement datant de 2015, qui aurait pu permettre à un attaquant de créer des XRP dépensables au-delà de l’offre fixe du réseau pour seulement quelques centaines de XRP en réserves. Ce problème se trouvait dans le code qui régule les paiements à travers l’échange décentralisé (DEX) intégré au XRP Ledger.
Selon le rapport officiel de divulgation de vulnérabilité publié hier, lorsqu’un seul paiement consommait de nombreuses offres, le moteur additionnait les montants en utilisant une arithmétique 64 bits non vérifiée.
En poussant cette somme suffisamment haut, elle « se renvoyait », ce qui est le résultat d’un débordement d’entier. Un nombre gigantesque devenait alors un petit nombre, et les vendeurs de l’autre côté de la transaction étaient payés en totalité, tandis que l’acheteur n’était facturé que le petit total renvoyé. La différence représentait des XRP qui n’avaient jamais existé auparavant.
Le ledger effectue une vérification de sécurité, connue sous le nom d’invariant, qui est censée confirmer qu’aucun XRP n’est jamais créé. Cependant, cette vérification utilisait la même mathématique non vérifiée, ce qui la rendait aveugle à l’échec qu’elle était censée détecter.
Impact et réponse
Le rapport retrace le défaut jusqu’au moteur de paiement actuel, écrit en 2015. Le rapport indique que le coût était de quelques centaines de XRP bloqués en réserves, qui sont restitués une fois les objets retirés, plus les frais de transaction ordinaires. Un attaquant aurait dû placer des centaines d’offres délibérément mal tarifées et ensuite acheminer un paiement à travers elles.
Le gain potentiel était préoccupant, RippleX qualifiant le bug de critique, car des XRP dépensables auraient pu être créés au-delà de l’offre totale dans une seule transaction validée. L’ensemble de l’argument de XRP repose sur un plafond strict de 100 milliards de tokens, donc un mint silencieux aurait compromis la promesse fondamentale de l’actif.
C’est pourquoi des publications comme celle de Whale Insider l’ont présenté comme un bug qui aurait pu générer « des milliards » de XRP.
Déploiement du correctif
La chronologie des événements est assez brève : le patch n’est pas passé par le vote d’amendement habituel, mais a été expédié comme un changement de code direct dans la version 3.4.1, prenant effet à mesure que chaque serveur était mis à jour. Le code source n’a été publié qu’après le déploiement, un mouvement standard pour éviter de donner aux attaquants une carte.
Le compte XRPL Operations a depuis fait de la version 3.4.1 la version minimale requise, ajoutant : « Nous n’avons trouvé aucune preuve que ce problème ait été exploité sur un réseau public. » Un second bug, de gravité inférieure, a été corrigé dans la même version.
Il concernait la façon dont les transactions par lots sont enveloppées, et sa correction se trouve derrière l’amendement fixBatchV1_2, qui est entré en vigueur sur Mainnet le 9 octobre, aux côtés de BatchV1_1. Le rapport indique qu’aucun fonds n’a été perdu à cause de celui-ci non plus.
Contexte et développements récents
La divulgation est tombée lors d’une semaine difficile pour la sécurité des cryptomonnaies, alors que les pertes de dispositifs Ledger, rapportées par Bitcoin.com News, atteignaient environ 93,4 millions de dollars.
Enfin, Evernorth, soutenu par Ripple, se prépare à commencer à négocier sur le Nasdaq sous le symbole XRPN lundi, avec environ 473 millions de XRP dans ses livres. XRP s’est également étendu à la finance décentralisée (DeFi), Firelight ayant récemment activé la protection des coffres sur le réseau.
Un tribunal malaisien a donné à Ripple un ordre de saisie sur la participation de 60 % de Seamless Group dans Tranglo, une holding évaluée à…