新闻加密货币XRP Ledger修复潜伏十年的支付漏洞,该漏洞原本可伪造XRP

XRP Ledger修复潜伏十年的支付漏洞,该漏洞原本可伪造XRP

作者: Decrypt·

要点速览

  • •XRP Ledger支付引擎中的整数溢出漏洞自2015年代码编写之时便已存在,原本可使攻击者在单笔交易中铸造超过代币总量的可花费XRP。
  • •该漏洞由一名研究员于9月通过XRPL漏洞赏金计划上报,仅当一笔支付消耗订单簿中数百个特制挂单时才会出现:应付金额回绕为极小值,而卖家仍获全额支付。
  • •账本内置的、用于确保任何交易都不铸造XRP的安全检查依赖同样有缺陷的算术,与存在漏洞的代码一同悄然失效。
  • •补丁随3.4.1版本于9月25日发布,当日即被80%的受信任验证节点采用,这是首次有交易处理变更刻意绕过账本为期两周的修订投票流程。
  • •维护方未发现漏洞曾被利用的证据;此次披露让人联想到早前Zcash屏蔽池健全性漏洞引发的伪造危机。
XRP Ledger修复潜伏十年的支付漏洞,该漏洞原本可伪造XRP

XRP Ledger背后的开发者已披露并修复一个关键漏洞——若未处理,攻击者本可凭空凭空制造XRP。该漏洞在网络代码中潜伏了近十年。

在周五发布的披露报告中,账本维护方表示,一名研究员于9月通过XRPL漏洞赏金计划上报了该漏洞。问题出在支付引擎——软件中负责处理支付的组件——的整数溢出。

这一算术错误仅在异常条件下才会显现。当单笔支付消耗订单簿中数百个特制挂单时,买家应付金额之和超过了系统可存储的最大值,并“回绕”为一个极小的数字。引擎向每位卖家全额付款,却几乎未向买家收费,差额即相当于凭空新增的、本不该存在的XRP。

更严重的是,账本内置的安全检查——用于确认任何交易都不会创造XRP——依赖同样有缺陷的算术。它以完全相同的方式回绕,因此什么也没检测到。据维护方称,攻击者本可在单笔交易中铸造远超代币总量的可花费XRP,随后转移、交易或将其发送至交易所。该检查正是账本赖以保证任何交易都无法铸造新XRP的机制,而它却与本应监管的代码一同悄然失效。

RippleX工程师确认,该漏洞自2015年当前支付引擎编写之时便已存在。团队表示,由于普通支付远不足以触发该溢出,漏洞一直未被发现,且没有证据表明它曾被利用。

修复已随3.4.1版本于9月25日发布,超过80%的网络受信任验证节点当日即在运行该版本。值得注意的是,此次补丁绕过了账本通常的修订流程——该流程要求验证节点投票并等待两周后变更才生效。这是该系统推出十余年来,首次有交易处理变更以这种方式刻意发布。维护方表示,其严重性足以证明这一偏离的合理性,因为开源修复一经发布便会暴露漏洞,同时使其在数周内仍可被利用。如今漏洞已公开,任何仍在运行旧版本的验证节点既有理由也有办法采取行动——升级至3.4.1即可从该节点的支付处理中移除有缺陷的算术。

此次披露让人联想到今年早些时候震动Zcash的伪造危机,当时这一隐私币紧急修复其屏蔽池中一个可能允许伪造代币的健全性漏洞。该事件曾令ZEC大幅下跌,直至网络的Ironwood升级才得以解决。两起事件针对的是同一类保障:无论交易设计得多么精巧,区块链上的资产都不能凭空制造。

XRP本周也未能幸免。该代币周一交投于1.38美元,24小时内下跌1.6%,为主要加密货币中表现最差者,过去七天下跌9.4%。