比特币轻钱包 Electrum 于 10 月 24 日披露一类针对交易加费流程的恶意服务器攻击,并在 4.8.3 版本中完成修复,对应 GitHub 安全公告 GHSA-6jp4-8v48-cc5v。
公告显示,用户在对交易做常规加费时,可能把资金签给攻击者。开发者表示,问题起因是用户报告在签署加费后损失资金。
两份用户报告指向同一攻击路径
Electrum 提到,两份报告的结果并不相同。
其中一名用户在广播付款后发现,钱包历史中的交易被替换,并称原付款并未进入比特币点对点网络,而是被服务器扣留。另一名用户 Raju-K12 则是在对替换后的交易执行加费后损失资金。
恶意服务器如何实施替换
根据公告,攻击过程中,恶意服务器会扣留客户端广播的新交易,并在交易历史中放入一笔冲突交易,把原本的输出替换为攻击者地址。
这笔替换交易在当时的签名实际上无效,但轻客户端在展示未确认交易前,并不会核对这些签名。用户随后如果通过 RBF 手动加费并完成签名,攻击者收款就会生效。
两名用户都表示,攻击者地址与合法收款地址的末四位相同。
公告未披露被盗金额等细节
安全公告没有公布被盗金额、交易标识或攻击者地址。
补丁范围与限制
此次补丁对应提交 90fe308。Electrum 在把内存池交易写入本地历史前,会核对该钱包自有输入的签名。
不过,这一修复不会覆盖钱包外地址的输入,也不进行完整共识验证。
官方建议与时间线
公告建议,尚未升级的用户在每次签名时核对输出地址与金额。连接自有服务器或可信服务器的客户端,不受这类攻击影响。
时间线方面,10 月 11 日为首次私下披露,10 月 18 日收到加费损失报告,修复版本于 10 月 23 日打标签,二进制文件与公开披露在 10 月 24 日发布。


