XRP Ledger 维护者周五披露并修复了一个关键支付引擎漏洞。该漏洞允许攻击者凭空创建可花费 XRP,并在网络代码中潜伏约十年。维护者称,研究员于 9 月通过 XRPL 漏洞赏金计划报告了该问题。
问题出在支付引擎的整数溢出。当单笔支付消耗订单簿中数百个特制报价时,买方应付总额超过系统可存储的最大值,金额会“回绕”为极小数值。结果,引擎向每个卖方全额付款,却几乎不向买方收费,差额相当于新铸造的、本不应存在的 XRP。
更严重的是,账本内置的安全检查本应确认没有交易创建 XRP,但使用了同样有缺陷的算术,因此以相同方式回绕,未能发现异常。维护者警告,攻击者原本可在单笔交易中创建远超 XRP 总供应量的可花费代币,随后转移、交易或发送至交易所。
RippleX 工程师确认,该漏洞自 2015 年当前支付引擎编写以来便存在。团队表示,普通支付远不会触发溢出,因此该问题长期未被发现。披露文件称,没有证据表明该漏洞曾被利用。
修复已随 9 月 25 日发布的 3.4.1 版本上线。维护者称,当日超过 80% 的网络可信验证者已运行该版本。值得注意的是,该补丁绕过了账本通常的修正案流程——该流程要求验证者投票并等待两周才生效。这是十多年前系统推出以来,交易处理变更首次刻意以此方式发布。维护者表示,漏洞严重性证明此举合理,因为开源修复会在漏洞仍可利用的数周内将其暴露。
此次披露也让人联想到今年 Zcash 遭遇的伪造恐慌。当时,这种隐私币紧急修补其屏蔽池中的一个健全性漏洞,该漏洞可能允许伪造代币,ZEC 在 Ironwood 升级解决问题前一度大跌。
XRP 这一周也未能完全避开冲击。该代币周一报 1.38 美元,24 小时下跌 1.6%,在主要加密货币中表现最差,过去七天累计下跌 9.4%。
