Bitcoinjs-lib corrige 2 bogues pouvant entraîner une sous-estimation des frais

iconCryptoSlate
Partager
AI summary iconRésumé
Actualité Bitcoin : Bitcoinjs-lib a publié des correctifs pour deux bugs pouvant entraîner une sous-estimation des frais dans les applications Bitcoin. Ces failles, liées aux PSBT, pourraient provoquer des calculs de frais incorrects et des pertes financières. Corrigées dans les versions 5.2.2, 6.1.9 et 7.0.4, ces mises à jour garantissent des méthodes cohérentes pour résoudre les sorties et calculer les frais. Les médias d'information sur le bitcoin soulignent l'urgence de mettre à jour les applications concernées.

Bitcoinjs-lib, une bibliothèque logicielle pour construire des applications Bitcoin, a corrigé deux bugs pouvant entraîner une sous-estimation des frais de mineur sur des transactions valides. Les divulgations de sécurité du 26 octobre identifient les versions corrigées 5.2.2, 6.1.9 et 7.0.4 pour les lignes de publication respectives. Les applications sont à risque lorsqu'elles importent les paquets et s'appuient sur le calcul des frais ou la protection contre les frais excessifs de la bibliothèque sans vérifier indépendamment les sorties dépensées.

Les failles concernent les transactions Bitcoin partiellement signées (PSBT). La BIP 174 définit les PSBT comme un format pour échanger les détails de transaction et les signatures entre clients. La signature, la combinaison des signatures, la finalisation des entrées et l'extraction de la transaction restent des opérations distinctes, même au sein d'une seule application. Une transaction Bitcoin paie des frais équivalents à la valeur totale des entrées moins la valeur totale des sorties. Sous-estimer la valeur d'une entrée fait donc apparaître les frais calculés comme plus faibles.

La première faille permet à la signature et à la comptabilisation des frais de attribuer des valeurs différentes au même entrée. La signature repose sur la transaction précédente complète, tandis que la comptabilisation des frais privilégie un enregistrement conflictuel avec une valeur inférieure. Les logiciels vulnérables peuvent ainsi autoriser la transaction réelle tout en évaluant un frais incorrect. L'avis décrit une démonstration avec bitcoinjs-lib 7.0.1, avec un frais réel de 900 000 000 satoshis et un frais déclaré de 200 satoshis. La démonstration a produit une signature vérifiée et permis l'extraction sans déclencher l'avertissement par défaut sur le taux de frais.

Le deuxième avertissement décrit des entrées finalisées qui ne comportent aucun enregistrement de la valeur d'entrée. La calculatrice de frais traite ces entrées comme ayant une valeur nulle. Une application peut importer un PSBT déjà signé provenant d'une autre partie et aboutir à ce calcul sans avoir à le signer à nouveau. Le deuxième avertissement présente une transaction hypothétique avec une frais réel de 91 000 satoshis et un frais déclaré de 1 000 satoshis. Les scripts et signatures finalisés ne suffisent pas, par eux-mêmes, à établir la valeur d'une entrée dont les enregistrements de valeur sont absents.

La faille de dossiers conflictuels affecte les versions 5.2.0 à 5.2.1, les versions 6.0.0 à 6.1.8 incluant 6.1.0-rc.0, et les versions 7.0.0-rc.0 à 7.0.3. La faille de dossiers manquants affecte les mêmes versions 6 et 7, ainsi que les versions 5.1.0 à 5.2.1. Une perte financière nécessite qu'une transaction autorisée et valide soit diffusée sur le réseau et acceptée. Les bogues ne peuvent pas générer de signatures, et la valeur excédentaire est reversée aux mineurs sous forme de frais.

Les correctifs permettent à la signature et à la comptabilité d'utiliser une seule méthode pour résoudre les sorties précédentes. Les correctifs rejettent les valeurs ou scripts conflictuels et exigent une valeur pour chaque entrée lors du calcul des frais. Les correctifs invalident également les frais mis en cache et les transactions extraites après des modifications ou combinaisons de métadonnées pertinentes. Les maintainers doivent vérifier les versions des dépendances et revoir la validation des PSBT importés. Les maintainers qui ne peuvent pas mettre à jour doivent confirmer indépendamment les valeurs de sortie référencées. Les maintainers doivent rejeter les enregistrements conflictuels avant de signer ou de s'appuyer sur les frais calculés. Les maintainers doivent vérifier la valeur de chaque entrée avant de s'appuyer sur les frais ou d'extraire une transaction.

Clause de non-responsabilité : les informations sur cette page peuvent avoir été obtenues auprès de tiers et ne reflètent pas nécessairement les points de vue ou opinions de KuCoin. Ce contenu est fourni à titre informatif uniquement, sans aucune représentation ou garantie d’aucune sorte, et ne doit pas être interprété comme un conseil en investissement. KuCoin ne sera pas responsable des erreurs ou omissions, ni des résultats résultant de l’utilisation de ces informations. Les investissements dans les actifs numériques peuvent être risqués. Veuillez évaluer soigneusement les risques d’un produit et votre tolérance au risque en fonction de votre propre situation financière. Pour plus d’informations, veuillez consulter nos conditions d’utilisation et divulgation des risques.