#CriticalVulnerability 🚨 提醒
$BTC 應用開發者:bitcoinjs-lib 存在嚴重漏洞
廣受歡迎的 `bitcoinjs-lib` 庫修復了兩個嚴重錯誤。這些漏洞可能導致應用嚴重低估完全有效且已簽名的 PSBT(部分簽名比特幣交易)所需支付的礦工費。
問題是什麼?
在比特幣中,手續費等於輸入總額與輸出總額之差。兩個不同的邏輯錯誤導致該庫報告的手續費極低(例如 200 或 1,000 聰),但實際從錢包扣除並支付給礦工的金額最高可能接近 1 BTC(9 億聰)。
1. 輸入金額衝突:簽名過程使用了上一筆交易的完整數據,而手續費計算模塊依賴的卻是一條金額較低的衝突記錄。雖然簽名仍然有效,但手續費計算有誤。
2. 缺少輸入金額記錄:對於未指定金額的已完成簽名輸入,該庫會將金額視爲“0”。因此,導入的交易中可能隱藏着鉅額的實際手續費。
哪些版本受影響?v5 系列:已在以下版本修復:
➡️ 5.2.2(易受影響版本:5.1.0 – 5.2.1)
➡️ v6 系列:已在 6.1.9 修復(易受影響版本:6.0.0 – 6.1.8)
➡️ v7 系列:已在 7.0.4 修復(易受影響版本:7.0.0-rc.0 – 7.0.3)
你應該怎麼做?
➡️ 更新到已修復的版本(5.2.2、6.1.9、7.0.4)。
➡️ 如果目前無法更新,請獨立驗證輸入金額,並在簽名或計算手續費之前拒絕任何不一致的記錄。
應用的安全性,取決於你是否盲目信任庫,還是逐一覈實每一個聰。🛡️