新闻加密货币XRP Ledger 修补可凭空创造可花费 XRP 的十年老漏洞

XRP Ledger 修补可凭空创造可花费 XRP 的十年老漏洞

作者: Crypto Adventure·

要点速览

  • •XRP Ledger 支付引擎中的一个严重漏洞本可让攻击者通过整数溢出创造可花费的 XRP,绕过账本的供应保护机制。
  • •该漏洞自 2015 年前后即已存在,需要刻意构造的交易消耗订单簿中的多个挂单才能触发,正常支付或交易活动无法触发。
  • •该漏洞于 9 月 22 日通过 XRPL Bug Bounty 计划私下报告,未发现任何在公共 XRP Ledger 网络上被利用的证据。
  • •开发者绕过标准修正案流程,于 9 月 25 日发布紧急补丁 xrpld 3.4.1,超过 80% 的验证节点当日完成升级。
  • •XRP 总供应量保持不变,服务器运营者现在必须运行 xrpld 3.4.1 或更高版本以与网络保持同步。
XRP Ledger 修补可凭空创造可花费 XRP 的十年老漏洞

XRP Ledger 开发者披露了一个严重漏洞,该漏洞本可让攻击者凭空创造可花费的 XRP,绕过旨在防止该加密货币供应量增加的保障机制。

该漏洞存在于账本的支付引擎中,由 Cayden Liao 和 Veria AI 于 9 月 22 日通过 XRPL Bug Bounty 计划报告。RippleX 工程师在独立服务器上复现了该攻击,确认新创造的 XRP 可以在后续支付中被花费,并将其严重程度从“重大”上调至“严重”。此次处理遵循标准的协同披露惯例:赏金报告私下提交给维护者,完整技术细节仅在修复发布后才公开。

根据发布在 XRPL 官方博客上的披露报告,没有任何证据表明该漏洞曾在任何公共 XRP Ledger 网络上被利用。开发者私下准备了修复方案,并在补丁合入紧急发布分支两天后,于 9 月 25 日发布了 xrpld 3.4.1 版本。

整数溢出可绕过 XRP 供应检查

该漏洞自 2015 年前后就存在于 XRP Ledger 支付引擎中,问题在于当一笔支付消耗订单簿中的多个挂单时,未对 64 位整数运算进行检查。

64 位数字的上限接近 18.4 quintillion(1840 亿亿),这种固定位宽运算中的溢出是账本软件中一类公认的漏洞——2010 年,Bitcoin 价值检查中的一个整数溢出曾在短时间内凭空创造了约 1840 亿枚 BTC,开发者数小时内即完成修补。

攻击者可以创建数百个账户,并放置经过特殊构造的挂单,以极大量的 XRP 出售少量其他代币。一笔消耗这些挂单的支付可能使计算出的总额超过整数支持的最大值。此时交易不会被拒绝,总额会回绕为一个很小的数字。每个挂单所有者仍可收到其挂单中指定的全额 XRP,而买方只需支付回绕后小得多的金额。

该攻击只需要几百枚 XRP 用于账户和挂单储备(其中大部分事后可以收回),外加普通交易费用。

XRPL 内置的旨在确保交易无法创造 XRP 的检查机制本无法阻止这次攻击。该不变量使用了相同类型的运算,可能以同样的方式溢出,而另一项针对单账户的余额上限也可以通过将新创造的 XRP 分散到数百个账户来绕过。这一缺陷之所以重要,与 XRP 供应机制的工作方式有关:全部 1000 亿枚代币均在账本启动时创建,交易费用销毁 XRP 而非增发,不变量检查是确保任何支付路径都无法推高总量的保证。该缺陷仅限于刻意构造的交易,无法由正常支付或交易活动触发。

验证节点数小时内升级至 3.4.1

开发者选择立即部署这一 XRP 溢出修复,而不是走 XRPL 正常的修正案流程——该流程通常需要超过 80% 的验证节点支持并持续两周,协议变更才会激活。若在整个期间保持漏洞暴露,将造成攻击方法已被公开但仍然可用的窗口期。

9 月 25 日,默认唯一节点列表(Unique Node List)上超过 80% 的验证节点已升级至 3.4.1,与紧急版本发布同日。从私下报告到多数验证节点采纳仅用三天,展示了账本紧急发布路径的端到端运作。

3.4.1 版本现在会在挂单总额可能溢出时拒绝支付,并为 XRP 创造不变量使用更宽的计数器。其他余额计算也针对类似的算术故障进行了加固。

此次事件之前,还发生过 2025 年发现的一起不相关的 xrpl.js 供应链入侵,其影响的是恶意 JavaScript 包发布,而非 XRP Ledger 协议本身。XRPL 的修正案系统也被用于较新的功能,例如拟议中的 XRPL Lending Protocol,验证节点批准与否决定新的交易行为是否激活。

这次溢出漏洞未 XRP 现有供应量。未发现任何未经授权的 XRP,服务器运营者现在必须运行 xrpld 3.4.1 或更高版本才能与网络保持同步。目前仍可观察到的只是运营层面的动态:仍在运行早期版本的节点迁移至 3.4.1 或更高版本,以及 XRPL Lending Protocol 等提案继续走此次修复所绕开的标准修正案流程。

来源:XRP Ledger Patches Decade-Old Flaw That Could Create Spendable XRP — Crypto Adventure