20250528 - Usual 攻击事件: 价差兑换与请君入瓮

背景信息

项目背景

VaultRouter 合约有用特权身份,可以通过 Usd0PP 合约将 USD0++ 以 1:1 的比例兑换成 USD0,随后通过 UniV3 将 USD0 swap 成 sUSDS,并 deposit 成 usUSDS 发送给用户。

攻击概述

在本次 Usual 攻击事件中,攻击者首先创建了恶意的 [USD0, sUSDS] 池子 ,然后利用 VaultRouter 合约的特权身份 ,将 1899838 USD0++ 以 1:1 的比例兑换成 USD0,并且在恶意池子中将 USD0 兑换为 sUSDS。随后攻击者通过移除流动性的方式获取所有的 USD0。最后通过 USD0USD0++ 市场将 1899838 USD0 兑换成 1943686 USD0++,兑换比例为 1 : 1.02,获利 43847 USD0++。

漏洞成因

  1. VaultRouter 合约可以将 USD0++ 以 1:1 的比例兑换成 USD0,与市场价 1 : 1.02 存在价差。
  2. VaultRouter 和 Augustus 合约均没有对传入的 swapData 进行检查,使得攻击者可以操控 USD0 swap sUSDS 这一步骤在全部流动性均为自己添加的、且价格失衡的恶意池子中进行。

相关链接

Alert:https://x.com/BlockSecTeam/status/1927607817378177316

攻击交易:https://app.blocksec.com/explorer/tx/eth/0x585d8be6a0b07ca2f94cfa1d7542f1a62b0d3af5fab7823cbcf69fb243f271f8

漏洞合约:

  1. VaultRouter:https://etherscan.io/address/0xe033cb1bb400c0983fa60ce62f8ecdf6a16fce09#code

    VaultRouter:https://etherscan.io/address/0xe033cb1bb400c0983fa60ce62f8ecdf6a16fce09#code

Trace 分析

Trace 概览

  1. 创建恶意的 [USD0, sUSDS] 池子,并向其添加了 10 wei 的 sUSDS
  2. 执行闪电贷
  3. 将获利资金兑换成 ETH

FlashLoan 分析

攻击者在闪电贷内执行了本次攻击,具体做了以下操作:

  1. VaultRouter.deposit()
  2. 移除 2.1 中创建的池子流动性
  3. USD0USD0++.exchange() USD0 -> USD0++
  4. USD0USD0++.exchange() USD0++ -> USD0
  5. Uniswap V3: Router.exactInput() USD0 -> ETH
  6. 归还闪电贷

VaultRouter.deposit()

  1. 首先通过 Usd0PP.unwrapWithCap() 函数将 USD0++ 按照 1:1 的比例换成 USD0
  1. VaultRouter 在攻击者创建的恶意池子中将 1899838 USD0 兑换成 5wei sUSDS
  1. 将兑换得到的 5wei sUSDS 通过 deposit() 质押成 usUSDS 并发送给攻击合约(不重要)

移除流动性

攻击者将 VaultRouter 在 2.2.1 中 swap 进去的 1899838 USD0 通过移除流动性的方式取出

exchange USD0 -> USD0++

攻击者通过 USD0USD0++.exchange() 将 1899838 USD0 兑换成 1943686 USD0++,兑换比例为 1 : 1.02,获利 43847 USD0++

exchange USD0++ -> USD0

攻击者随后又将获利部分的 43847 USD0++ 兑换成 42973 USD0

exactInput() USD0 -> ETH

42973 USD0 兑换成了 15 WETH

归还闪电贷

代码分析

Usd0PP 合约允许 VaultRouter 将 USD0++ 以 1:1 的比例兑换成 USD0

VaultRouter 没有对 augustus 使用的参数 data 进行检查和限制,这使得攻击者可以传入自己构造的恶意池子(相同币种不同费率),从而在 USD0 -> sUSDS 兑换完成后可以通过移除流动性的方法取回所有 USD0。

相关推荐
阿菜ACai5 个月前
【事件分析】20250112-Usual 赎回机制调整事件
区块链·defi
阿菜ACai5 个月前
20250110-FortuneWheel 攻击事件:竟然不设滑点,那就体验一下 Force Investment 吧
漏洞分析·defi
阿菜ACai5 个月前
【漏洞分析】20250105-SorraStaking:奖励金额计算错误,每次取款都有大收益
漏洞分析·defi
阿菜ACai5 个月前
【项目学习】Morpho 借贷协议简单调研
defi
阿菜ACai6 个月前
【漏洞分析】Vestra DAO 攻击事件:这个质押项目它取款不核销呀
漏洞分析
阿菜ACai6 个月前
【项目学习】Pendle 项目的简单调研
智能合约·defi
xzajyjs7 个月前
CodeQL学习笔记(3)-QL语法(模块、变量、表达式、公式和注解)
web安全·渗透测试·漏洞分析·代码审计·codeql
阿菜ACai8 个月前
【漏洞分析】20240507-SATURN:当闪电贷遇上有缺陷的通缩机制
智能合约·漏洞分析
阿菜ACai9 个月前
【漏洞分析】Penpie 攻击事件:重入攻击构造奖励金额
漏洞分析·defi