Deux failles de bitcoinjs-lib peuvent sous-estimer les frais versés aux mineurs par une transaction Bitcoin valide. La première survient lorsque la signature et le calcul des frais utilisent des valeurs contradictoires pour une même entrée ; la seconde se produit lorsque des entrées finalisées ne comportent aucune valeur. Une démonstration sur la version 7.0.1 a présenté une transaction de 900 000 000 satoshis dont la bibliothèque n’a calculé que 200 satoshis de frais, tandis qu’un autre exemple fait état de 91 000 satoshis au lieu de 1 000. Les correctifs sont disponibles dans les versions 5.2.2, 6.1.9 et 7.0.4, et les mainteneurs doivent mettre à jour la bibliothèque ou vérifier indépendamment les valeurs de toutes les entrées avant de signer ou d’extraire une transaction. Une perte effective exige qu’une transaction autorisée et valide soit diffusée puis acceptée par le réseau.
Source: Lire l’article original


