O bitcoinjs-lib, uma biblioteca de software para construir aplicações de bitcoin, corrigiu dois bugs que podem causar que as aplicações subestimem as taxas de mineradores em transações válidas. As divulgações de segurança de 26 de outubro identificam as versões corrigidas 5.2.2, 6.1.9 e 7.0.4 para as respectivas linhas de lançamento. As aplicações estão em risco quando importam os pacotes e dependem do cálculo de taxas ou da proteção contra taxas excessivas da biblioteca sem verificar independentemente os outputs sendo gastos.
As falhas envolvem transações de bitcoin parcialmente assinadas (PSBTs). A BIP 174 define PSBTs como um formato para trocar detalhes de transações e assinaturas entre clientes. A assinatura, a combinação de assinaturas, a finalização das entradas e a extração da transação permanecem operações distintas, mesmo dentro de uma única aplicação. Uma transação de bitcoin paga uma taxa igual ao valor total das entradas menos o valor total das saídas. Subestimar o valor de uma entrada faz com que a taxa calculada pareça menor.
A primeira falha permite que a assinatura e a contabilidade de taxas atribuam valores diferentes ao mesmo input. A assinatura depende da transação anterior completa, enquanto a contabilidade de taxas privilegia um registro conflitante com valor mais baixo. Software vulnerável pode, consequentemente, autorizar a transação real enquanto avalia uma taxa incorreta. O aviso descreve uma demonstração com bitcoinjs-lib 7.0.1, com uma taxa real de 900.000.000 satoshis e uma taxa relatada de 200 satoshis. A demonstração produziu uma assinatura verificada e permitiu a extração sem acionar o aviso padrão de taxa por unidade.
O segundo aviso descreve entradas finalizadas que não possuem registros de valor de entrada. A calculadora de taxas trata essas entradas como tendo valor zero. Uma aplicação pode importar um PSBT já assinado de outra parte e chegar a esse cálculo sem assinar novamente. O segundo aviso apresenta uma transação hipotética com uma taxa real de 91.000 satoshis e uma taxa relatada de 1.000 satoshis. Scripts e assinaturas finalizados, por si só, não estabelecem o valor de uma entrada cujos registros de valor estão ausentes.
A falha de registro conflitante afeta as versões 5.2.0 a 5.2.1, as versões 6.0.0 a 6.1.8, incluindo a 6.1.0-rc.0, e as versões 7.0.0-rc.0 a 7.0.3. A falha de registro ausente afeta as mesmas versões 6 e 7, além das versões 5.1.0 a 5.2.1. A perda financeira exige que uma transação autorizada e válida seja transmitida à rede e aceita. Os bugs não conseguem gerar assinaturas, e o valor excedente vai para os mineiros como taxa.
As correções fazem com que a assinatura e a contabilidade usem um único método para resolver saídas anteriores. As correções rejeitam valores ou scripts conflitantes e exigem um valor para cada entrada ao calcular taxas. As correções também invalidam taxas em cache e transações extraídas após alterações ou combinações relevantes nos metadados. Os mantenedores devem verificar as versões das dependências e revisar a validação dos PSBTs importados. Mantenedores que não puderem atualizar devem confirmar independentemente os valores das saídas referenciadas. Os mantenedores devem rejeitar registros conflitantes antes de assinar ou confiar em taxas calculadas. Os mantenedores devem verificar o valor de cada entrada antes de confiar em taxas ou extrair uma transação.
Bitcoinjs-lib corrige 2 bugs que poderiam causar subestimação de taxas
CryptoSlateCompartilhar
Notícia exclusiva sobre bitcoin: O bitcoinjs-lib lançou correções para dois bugs que poderiam levar à subestimação de taxas em aplicações de bitcoin. As falhas, relacionadas a PSBTs, poderiam permitir cálculos incorretos de taxas e perdas financeiras. Corrigidas nas versões 5.2.2, 6.1.9 e 7.0.4, as atualizações garantem métodos consistentes para resolver saídas e calcular taxas. Veículos de notícias sobre bitcoin estão destacando a urgência de atualizar os aplicativos afetados.
Fonte:Mostrar original
Aviso legal: as informações nesta página podem ter sido obtidas de terceiros e não refletem necessariamente os pontos de vista ou opiniões da KuCoin. Este conteúdo é fornecido apenas para fins informativos gerais, sem qualquer representação ou garantia de qualquer tipo, nem deve ser interpretado como aconselhamento financeiro ou de investimento. A KuCoin não é responsável por quaisquer erros ou omissões, ou por quaisquer resultados do uso destas informações.
Os investimentos em ativos digitais podem ser arriscados. Avalie cuidadosamente os riscos de um produto e a sua tolerância ao risco com base nas suas próprias circunstâncias financeiras. Para mais informações, consulte nossos termos de uso e divulgação de risco.