Electrum服務器誘騙錢包用戶簽署虛假零費用支付
惡意的 Electrum 服務器將用戶剛剛廣播的比特幣交易替換爲支付相似地址的虛假零手續費交易。
服務器似乎賭受害者會提高手續費並簽署虛假交易。
Electrum 於 10 月 24 日發佈 4.8.3 版本以解決這一高危漏洞。維護者 SomberNight 同一天發佈了安全公告 GHSA-6jp4-8v48-cc5v,並要求用戶升級。
僞造的地址與合法目的地地址共享以 GyQ3 結尾的部分
Electrum 是一個輕量級客戶端。它不具備完整的比特幣節點功能,而是依賴其服務器來獲取未確認的內存池交易。其官方文檔詳細說明了其工作原理。
某人簽名併發送了交易 tx1。惡意服務器攔截了該交易,並向錢包發送了另一筆不同的交易 tx2,將資金轉至攻擊者的地址。
tx2 包含無效的簽名。舊版 Electrum 不會驗證內存池交易的簽名,因此錢包將 tx2 顯示爲待處理狀態,並隱藏了 tx1。
通過提高費用替換交易(Replace-By-Fee,簡稱 RBF)允許發送方以更高的費用重新廣播一筆未確認的交易。如果僞造交易的fee被提高,錢包就會使用有效簽名對攻擊者版本的交易進行簽名。
受害者之一 dannydeezy 記錄了此次攻擊過程。這是一筆採用 2-of-3 傳統 P2SH 多重簽名方案的交易,涉及兩個 Trezor 硬件錢包、31 個輸入和一個輸出。
用戶在兩個 Trezor 設備上覈對輸出後進行了廣播。隨後錢包歷史記錄顯示全額轉入一個未知地址且處於未確認狀態,該條目後來變爲“本地”(Local)。
僞造交易複製了真實交易的輸入、版本號和鎖定時間,並在所有 31 個輸入上使用了字節完全相同的 scriptSigs。
62 個簽名均與真實交易匹配,但沒有任何一個簽名與僞造交易匹配。
幾乎所有資金都被髮送到了一個相似地址,僅有少量資金被退回至該錢包的一個已使用地址。
僞造地址以 GyQ3 結尾,真實地址也是如此。
攻擊者發現了一個與正確地址後四位字符相匹配的地址。

ZachXBT 還指出了一種類似的地址毒化騙局,影響了 Phantom 錢包用戶。僞造的地址通過隱藏首尾字符來規避一眼識別。
版本 4.8.3 僅對錢包擁有的輸入進行簽名檢查
另一位用戶 Raju-K12 於 10 月 18 日私下報告稱,他們提高了僞造交易的費率並遭受了損失。維護人員表示,一些服務器已在野外環境中運行此攻擊。
提交 90fe308 增加了對錢包擁有的“is_mine”輸入簽名的檢查,然後再將內存池交易添加到本地歷史記錄中。版本 4.8.3 已於 10 月 23 日打上 git 標籤,二進制文件於次日發佈。
Electrum 仍僅檢查錢包控制的輸入。因此,未確認的 incoming 交易未經檢查。
這是因爲客戶端沒有完整的腳本解釋器。
對於無法升級的用戶,Electrum 的變通方法是:在簽署任何內容(包括費率提升)之前,驗證輸出地址和金額。那些僅連接到自身服務器的用戶從未受到影響。
Electrum 過去曾發佈過緊急修復補丁。2018年1月,在谷歌研究員 Tavis Ormandy 發現某個網站可以檢測到該端口並盜取資金後,Electrum 關閉了一個已開放約兩年的 JSON RPC 接口。
Cryptopolitan 報道稱,關於 Coldcard 種子生成漏洞的警告於 7 月發出,當天約有 500 個錢包中的約 594 BTC(價值約 3800 萬美元)被盜。
如果您正在閱讀這篇文章,說明您已經領先一步。請繼續通過我們的通訊保持關注。









