Value Defi 合约在铸币进程中将合约资产转换成 3CRV 时依赖 Curve DAI/USDC/USDT 池 中 USDC/3CRV的价值,导致进攻者可以通过操控 Curve DAI/USDC/USDT 池 中 USDC/3CRV 的价值来操控 mVUSD/3CRV 的代价,从而赢利。
详细进程如下:查察生意业务详情
1.进攻者从 Aave 借出 80000 个 ETH,为进攻做筹备;
2.进攻者利用 80000 个 ETH 在 Uniswap DAI-ETH(https://info.uniswap.org/pair/0xa478c2975ab1ea89e8196811f51a7b7ade33eb11) 池顶用闪电贷借出大量的 DAI 和 在 Uniswap ETH-USDT(https://info.uniswap.org/pair/0x0d4a11d5eeaac28ec3f61d100daf4d40471f1852) 兑换出大量的 USDT;
3.用户挪用 ValueMultiVaultBank 合约 的 deposit 合约利用第 2 步中小部门的 DAI 举办充值,,ValueMultiVaultBank 合约中一共有 3 种资产,别离是 3CRV、bCRV、和 cCRV。ValueMultiVaultBank 合约在铸币的时候会将合约中的 bCRV, cCRV 转换成以 3CRV 举办计价,转化的途径为 bCRV/cCRV -> USDC -> 3CRV。个中 USDC -> 3CRV 利用的是 DAI/USDC/USD 池中 USDC/3CRV 的价值。转换完成后,Value Defi 合约按照合约中总的 3CRV 的代价和进攻者充值的 DAI 数量计较 mVUSD 铸币的数量;
4. 进攻者在 Curve DAI/USDC/USDT 池先利用第二步中剩余的大部门 DAI 和 USDT 兑换 USDC,拉高 DAI/USDC/USDT 池中的 USDC/3CRV 的价值;
5. 进攻者在 ValueMultiVaultBank 合约中提倡 3CRV 提现,此时 ValueMultiVaultBank 合约和第 3 步一样,会先将合约中的 bCRV, cCRV 转换成以 3CRV 计价,由于在第 4 步中,USDC/3CRV 的价值已经被拉高,导致换算的进程中,ValueMultiVaultBank 合约中的 bCRV, cCRV 能换算成更多的 3CRV,也就是说利用同等份额的 mVUSD 可以调换更多的 3CRV;
6. 拿到 3CRV 后,进攻者到 Curve 的 DAI/USDC/USDT 池中利用 3CRV 换回 DAI,并在 Uniswap 中兑换回 ETH,然后偿还 Aave 的闪电贷。
利用Tokenview Defi欣赏器查察活动性挖矿DeFi列表
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。