比特幣錢包 Electrum 於 10 月 24 日發布 4.8.3 版本,修復了一個高嚴重性漏洞,該漏洞允許惡意伺服器將比特幣付款重定向至攻擊者。此漏洞影響所有早於 4.8.3 的版本。修復程式於 10 月 23 日在程式碼倉庫中標記,可執行版本則於次日提供。
該攻擊利用了 Electrum 在處理未確認交易時對伺服器的信任。被入侵的伺服器可以隱藏用戶的實際付款,並替換為包含攻擊者目標地址和零手續費的衝突交易。此前,Electrum 會在錢包歷史記錄中顯示被替換的交易為合法交易,而未檢查簽名。零手續費會讓付款看起來陷入停滯。
一名用戶提高看似付款的費用後,簽署並廣播了一筆新的有效交易,將資金發送給攻擊者。原始付款從未到達網路,因此費用增加的交易成為實際首個廣播的付款。發布此警告的 Electrum 開發者 SomberNight 表示,攻擊者可以生成一個目標地址,其最後四個字符與目標收款人的地址相符。僅檢查這四個字符的用戶因此會看到看似匹配的結果。
諮詢指出,部分伺服器正在積極進行攻擊,並援引了兩份用戶報告。用戶 dannydeezy 首先於 10 月 11 日報告了可疑的伺服器活動,該被操縱的交易仍停留在本地伺服器上,並未造成資金損失。第二位用戶 Raju-K12 則於 10 月 18 日報告,在提高被操縱交易的手續費後損失了資金。
版本 4.8.3 在將未確認交易記錄到本地歷史記錄前,會檢查屬於錢包的輸入的加密簽名。此修補程式可防止伺服器在沒有有效簽名的情況下插入涉及用戶自身地址的偽造交易,而攻擊者無法偽造這些簽名。然而,Electrum 在接收的交易中,若沒有任何輸入屬於接收錢包,仍會接受這些交易而不檢查簽名。SomberNight 承認了公告中仍存在的漏洞,並表示解決此漏洞需要更多工作。
Electrum 曾於 2018 年面臨一場利用惡意伺服器顯示欺詐更新通知的活動。截至 2020 年,該活動已從 Electrum 用戶處盜取了約 2500 萬美元。Electrum 允許任何人運行伺服器,這使得此類攻擊成為可能。
僅連接到由用戶自行運營伺服器的用戶不受影響。無法立即更新的用戶應在簽署任何交易前,手動檢查目標地址和數量。Electrum 4.8.3 可透過專案網站和 GitHub 下載。

