Polkadot 金库因 XCM 修复未纳入生产版本损失 138 万美元

关键事实

Parity 表示,在 10 月 24 日至 26 日期间,有人利用 Polkadot 资产枢纽(Asset Hub)上 XCM 执行器的一个漏洞,在不改变账户余额的情况下削减了 dotUSD 的已记录发行量,从而扭曲了 DOT/dotUSD 交易池中的定价。

估计损失约为 138.1 万 DOT 价值的美元等值金额,该损失由作为该流动性池唯一流动性提供者的 Polkadot 国库承担,没有任何用户遭受资金损失。

该漏洞于 6 月通过 Parity 的漏洞赏金计划报告并被修复,但该修复错过了版本发布截止期限,未包含在受影响的正式运行环境中。

根据 Parity 的事件审查报告,Polkadot (DOT) 国库因攻击者利用了一个早在 6 月就已修复但未部署到受影响生产环境的漏洞,损失了约 138 万美元等值的 DOT。Parity 指出,没有用户遭受资金损失,国库是该流动性池唯一的流动性提供者。

Parity 在其 Polkadot 论坛发布的审查报告中称:“尽管该漏洞已在 6 月被识别并合并了修复代码,但该修复尚未到达受影响的生产环境运行程序。”

Parity 表示,XCM 漏洞导致 Polkadot 国库损失了约 138 万 DOT。来源:CoinMarketCap

XCM 漏洞是如何被利用的

Parity 表示,在 10 月 24 日至 26 日期间,有人利用 Polkadot 资产枢纽上 XCM 执行器的一个漏洞,在不改变账户余额的情况下减少了 dotUSD 的已记录发行量。XCM 程序的设计原则是在失败时撤销所有状态更改,但该漏洞导致供应量的更改未被撤销而保留下来。

dotUSD 是近期 OpenGov 公投试图优先支持的几种 DOT 支持稳定币之一。该枢纽的去中心化交易所使用交易池余额与 dotUSD 已记录供应量中的较低者,来限制其视为可用的 dotUSD 数量。一旦报告的供应量低于交易池余额,定价就会发生扭曲,使得 dotUSD 能够以人为操纵的汇率兑换为 DOT。Parity 表示,虽然 dotUSD 始终保持全额支持,但低估的供应量限制了赎回操作,直到得到纠正为止。

Parity 表示,攻击者的消息通过 Snowbridge 从以太坊传来,但根本漏洞在于 XCM 执行器而非桥接协议。它补充道,链上证据尚未确立利用该漏洞的攻击者是否也从由此产生的套利中获利。

为何 6 月的修复未能上线

Parity 表示,该漏洞在 dotUSD 推出之前,于 6 月通过 Parity 的漏洞赏金计划被报告,并被归类为中等严重程度。该修复错过了 stable-2606 版本的发布截止期限,随后被纳入 stable-2609 版本。此后,该漏洞已被重新归类为严重级别。

Parity 表示,它于 10 月 20 日发现了一条公共论坛评论,其中报告该漏洞的研究人员提及了修复方案,这违反了赏金计划的条款,且该评论“可能为攻击者提供了足够的背景信息”以利用此漏洞。

包含修复程序的 Runtime 2.5.1 于 10 月 24 日通过 OpenGov 提出,当时 Snowfork 暂停了其中继器并停止了攻击。攻击者于 10 月 26 日使用自己的中继器恢复了攻击,距离升级应用仅剩约六小时。Runtime 2.5.2 于 10 月 30 日生效,纠正了 dotUSD 的已记录供应量,回收的 dotUSD 已归还给国库。

Parity 表示,它将加快修复程序部署到生产环境的进程。此次事件紧随 Polkadot 在 10 月发出的警告之后,该警告指出 Fearless Wallet 扩展程序曾泄露私钥。