#CriticalVulnerability
🚨 Atenção, desenvolvedores de aplicações $BTC : vulnerabilidade crítica na “bitcoinjs-lib”

Foram corrigidos dois erros graves na popular biblioteca `bitcoinjs-lib`. Estas falhas podiam levar as aplicações a subestimar drasticamente as taxas de mineração de transações PSBT (transações Bitcoin parcialmente assinadas) totalmente válidas e assinadas.

Qual é o problema?
Na Bitcoin, a taxa é a diferença entre a soma das entradas e a soma das saídas. Dois erros lógicos distintos levavam a biblioteca a indicar uma taxa mínima (por exemplo, 200 ou 1.000 satoshis), quando o montante real deduzido da carteira e pago aos mineradores podia chegar a quase 1 BTC (900 milhões de satoshis).
1. Valores de entrada em conflito: O processo de assinatura utilizava todos os dados da transação anterior, enquanto o módulo de cálculo das taxas se baseava num registo em conflito com um valor inferior. Embora a assinatura continuasse válida, o cálculo da taxa estava incorreto.
2. Registos de valores de entrada em falta: Para entradas finalizadas cujo montante não estava especificado, a biblioteca considerava o valor como «0». Isto permitia ocultar uma taxa real muito elevada em transações importadas.

Que versões são afetadas? Série v5: corrigido em
➡️ 5.2.2 (vulneráveis: 5.1.0 – 5.2.1)
➡️ Série v6: corrigido em 6.1.9 (vulneráveis: 6.0.0 – 6.1.8)
➡️ Série v7: corrigido em 7.0.4 (vulneráveis: 7.0.0-rc.0 – 7.0.3)

O que deve fazer?
➡️ Atualize para as versões com a correção (5.2.2, 6.1.9, 7.0.4).
➡️ Se não for possível atualizar neste momento, implemente uma verificação independente dos valores das entradas e rejeite quaisquer registos inconsistentes antes de assinar ou calcular as taxas.

A segurança da sua aplicação depende de confiar cegamente nas bibliotecas ou de verificar cada satoshi. 🛡️