亚洲财经

搜索

RedSonic Vault 遭以太坊闪电贷攻击,被盗9.25 ETH

TLDR:RedSonic Vault 漏洞利用事件始末

RedSonic Vault 漏洞暴露了双资产定价缺陷

RedSonic Vault 因攻击者利用双重资产定价漏洞,损失了 9.25 ETH。该漏洞的核心在于一个无权限限制的 `registerErc20` 函数,允许攻击者添加第二个冲突的 stETH 份额类别。攻击者通过 Balancer 借入 1,139 WETH 进行闪电贷操作,无需投入任何自有启动资金。安全公司 ExVulSec 追踪并公布了完整的漏洞利用过程,包括 Curve 上的兑换及最终的贷款偿还步骤。

漏洞利用是如何展开的?

一名闪电贷攻击者在单笔交易中从以太坊的 RedSonic Vault 中抽走了 9.25 ETH。区块链安全公司 ExVulSec 识别出此次漏洞利用,并发布了详细的技术分析。攻击者操纵了一个无权限限制的资产注册功能,导致同一底层抵押品被重复计算。链上记录显示,整个操作在一个自包含的交易中完成。

攻击者从 Balancer 闪电借入了 1,139 WETH 以资助整个操作,无需任何前期自有资本。RedSonic 的金库通过名为 `getTotalAssetBalance` 的函数为其 rsvETH 份额定价。对于 Lido 头寸,该函数直接读取金库原始的 stETH 余额。这一设计选择成为了漏洞利用的基础:当余额意外变化时,与原始余额挂钩的份额价格可能会发生变动,而无需铸造或销毁相应的份额。

据 ExVulSec 称,金库的 `registerErc20` 函数没有任何访问限制。任何人都可以在金库内注册全新的资产类别。攻击者将 stETH 注册为第二种资产,创建了一个名为 rsvstETH 的类别。这两种份额类型随后都从完全相同的底层 stETH 余额中获取价值。

执行完成后,漏洞合约自我销毁。安全研究人员指出,自我销毁的合约通常会增加后续链上追踪工作的复杂性。闪电贷允许借款人在不抵押任何资产的情况下获取大额资金,前提是在同一笔交易内偿还贷款。攻击者通常使用此机制来资助那些原本需要大量资本的漏洞利用行为。

🚨 警报 — 以太坊 @reddio_com
RedSonic Vault 被盗约 9.25 ETH。一名零资本攻击者从 Balancer 闪电借入 1,139 WETH,推高金库份额价格并套现。该漏洞利用运行在自我销毁合约的构造函数内。
根本原因:……

— ExVul (@exvulsec) 2026年9月5日

RedSonic Vault 漏洞暴露了双资产缺陷

攻击者首先存入 1,130 ETH,获得了几乎所有未流通 rsvETH 份额中的近 99%。这一头寸为后续的漏洞利用奠定了基础。

接下来,攻击者直接将 9.34 stETH 存入金库。这笔单一存款增加了 stETH 余额,但并未铸造任何新的 rsvETH 份额。由于 rsvETH 的定价读取的是原始 stETH 余额,额外的存款人为地推高了份额价格。结果是,攻击者现有的 rsvETH 持仓价值瞬间增加,而没有发行任何新的 rsvETH。

根据 ExVulSec 的交易分析,攻击者随后赎回 rsvETH 换取了 1,139.5 ETH。这笔单一的赎回操作产生了全部 9.25 ETH 的利润。

同一名攻击者也分别赎回了 rsvstETH 份额以获取 stETH。相同的底层抵押品实际上从同一个共享的池化金库余额中支付了两次。

ExVulSec 报告称,回收的 stETH 在 Curve 上被兑换为 ETH。攻击者在同一笔交易中偿还了 Balancer 的闪电贷。

Etherscan 数据显示,攻击者的钱包地址为 `0x70f2333d21Ed7E7D105F6578227A9A747687982C`。RedSonic Vault 合约本身位于 `0x4315990d9eeaffdfafd49958b4851f203fa1126f`。攻击交易的哈希值为 `0xe3cba90e865c6cba950ebce36a52607f51f1fd33cd9fb920c78803f19b57791a`。该交易在 Etherscan 上公开可见,供任何人验证漏洞利用的细节。