A carregar preços…
🩸BEARISH

bitcoinjs-lib corrige 2 falhas que subestimavam taxas Bitcoin

As falhas podem fazer com que transações Bitcoin válidas pareçam baratas enquanto ocultam taxas de mineração excessivas, colocando em risco aplicações que confiam na contabilização de PSBT.

bitcoinjs-lib corrige 2 falhas que subestimavam taxas Bitcoin
bitcoinjs-lib corrige 2 falhas que subestimavam taxas Bitcoin
bitcoinjs-lib corrige 2 falhas que subestimavam taxas Bitcoin
bitcoinjs-lib corrige 2 falhas que subestimavam taxas Bitcoin

Duas vulnerabilidades do bitcoinjs-lib podem levar as aplicações a subestimar a taxa de mineração de uma transação Bitcoin válida. Os avisos de 26 de outubro indicam correções nas versões 5.2.2, 6.1.9 e 7.0.4. O fluxo afetado utiliza transações Bitcoin parcialmente assinadas, ou PSBTs, nas quais as aplicações transferem dados de transações e assinaturas entre clientes.

Numa das falhas, a assinatura e a contabilização da taxa podem usar valores diferentes para a mesma entrada. Uma demonstração no bitcoinjs-lib 7.0.1 mostrou uma taxa real de 900,000,000 satoshi reportada como apenas 200 satoshi, permitindo que a transação passasse pelo aviso predefinido de taxa. A segunda falha envolve entradas finalizadas sem registos de valor. O exemplo hipotético mostrou uma taxa real de 91,000 satoshi reportada como 1,000 satoshi.

Porque é importante

Os bugs não criam assinaturas nem autorizam transferências por si só. Para haver perda, é necessário que uma transação autorizada e válida seja transmitida e aceite pela rede Bitcoin, com o valor excedente pago como taxa de mineração. O risco concentra-se nas aplicações que confiam no cálculo de taxas do bitcoinjs-lib ou nas proteções contra taxas excessivas sem verificarem de forma independente as saídas gastas.

As versões afetadas incluem 5.2.0 a 5.2.1, 6.0.0 a 6.1.8 e 7.0.0-rc.0 a 7.0.3 no caso da falha de registos em conflito. A falha de registos em falta também afeta as versões 5.1.0 a 5.2.1.

Impacto no mercado

Trata-se de um problema de segurança de aplicações e carteiras, não de uma falha de consenso da Bitcoin. Os responsáveis pela manutenção devem atualizar para as versões corrigidas, rejeitar valores de entrada ou scripts em conflito e verificar o valor de cada entrada antes de assinar, confiar nas taxas ou extrair uma transação.

A correção fornece à assinatura e à contabilização um método partilhado para resolver saídas anteriores, exige um montante para cada entrada durante o cálculo da taxa e limpa as taxas guardadas em cache e as transações extraídas após alterações relevantes nos metadados. As equipas que não possam atualizar devem verificar de forma independente os valores das saídas referenciadas.

Tokens relacionados
$BTC

Perguntas frequentes

  1. O que corrigiu o bitcoinjs-lib?

    Corrigiu dois bugs que poderiam levar as aplicações a subestimar as taxas de mineração ao processarem transações Bitcoin parcialmente assinadas.

  2. Qual foi a dimensão da discrepância da taxa numa das demonstrações?

    Uma demonstração no bitcoinjs-lib 7.0.1 mostrou uma taxa real de 900,000,000 satoshi reportada como 200 satoshi.

  3. As vulnerabilidades podem transferir Bitcoin sem uma assinatura?

    Não. As falhas não criam assinaturas nem autorizam transferências. Para haver perda, é necessário que uma transação autorizada e válida seja transmitida e aceite.

  4. Que versões do bitcoinjs-lib contêm as correções?

    Os avisos indicam correções nas versões 5.2.2, 6.1.9 e 7.0.4, correspondentes às respetivas linhas de lançamento.

  5. O que devem fazer os responsáveis se não puderem atualizar?

    Devem verificar de forma independente os valores das saídas referenciadas, rejeitar registos em conflito antes de assinar ou confiar nas taxas e verificar o valor de cada entrada antes de extrair uma transação.

Atribuição da fonte
Agregado de CryptoSlate · Verificado · Última atualização há 1h
Abrir original →