Fei Rari - 翻车2



Fei-Rari-翻车。

大约在UTC时间4月30日上午9:00到9:35之间,Rari的7个Fuse池被抽干,总价值约为8000万美元。

尽管声称arbitrum的池子都没什么问题",但今天在Arbitrum上的攻击仍在继续,虽然相较之下损失(约100个ETH)最小。

这已经不是Rari第一次被攻击了--希望黑客们不要上演帽子戏法。

来源:Hacxyk, Certik

Rari 分叉了Compound的代码,像这种不遵循检查-实施-交互模式的情况,导致了一系列重入攻击事件:CREAMHundredVoltage/Ola

不过在本次案件中,重入模式是通过CEther,它使用 call.value 来发送ETH。在接收方为合约的情况下,call.value 能够进行另一次调用,这是可以被滥用的点。

这个漏洞在三月初被披露过,并通过升级CToken和Comptroller合约来修复。然而,新的重入保护措施并不包括Comptroller合约中的 exitMarket 函数。

exitMarket 将存入的资产重新调整为非抵押状态,只要没有针对该资金的贷款,就可以赎回。鉴于检查是在转账之后进行的(由于Compound代码没有遵循检查-实施-交互模式),交易在抵押品被提取之前不会将借款金额记录为债务。

通过使用闪电贷借入ETH,攻击者能够通过 call.value 重新进入,调用 exitMarket,以取走闪电贷的抵押品,同时也保留借入的ETH。

使用交易示例0xab4860…一步步讲解

1. 攻击者用闪电贷借得150,000,000 USDC和50,000 WETH

2. 将150,000,000 USDC作为抵押品存入fUSDC-127合约,该合约是compound的漏洞分叉版本。

3. 利用存入的抵押品,攻击者通过"borrow()"函数借走了1,977个ETH。

4. 然而,"borrow()"函数并没有遵循检查-实施-交互模式。具体来说,在更新攻击者的实际借款记录之前,它将ETH转移到攻击者的合约中。

5. 因此,在攻击者的借款记录没有更新的情况下,攻击者在回调函数中对 "exitmarket()"进行了可重入的调用,这使得攻击者可以提取他所有的抵押品(150M USDC)。

6. 攻击者在其他多个代币上重复步骤1~5。

7. 最后,攻击者偿还了闪电贷,并将剩下的钱作为利润转到自己的地址,并将部分资金转到Tornado Cash。

受影响的Fuse池有:8, 18, 27, 127, 144, 146, 156

攻击者的地址(包括所有的攻击交易):0x616275…

攻击合约:0xE39f3C..., 0x32075b...

Arbitrum攻击交易:0x3212d0...

总的资金损失:

6,037.8139071514 eth

20,251,603.11559831 Fei

14,278,990.684390573 DAI

1,948,952.1788665L LUSD

10,055,556.328173 USDC

132,959.9008 USDT

31,615.8714 RAI

13,101,364.94 FRAX

2,765,891 UST

估计总价值:79,749,026美元

攻击发生后,黑客开始将所得存入Tornado Cash,然而在只转移了5400个ETH(约1500万美元)后就停止了。

由于剩余的6270万美元仍在钱包中,是否是黑客在考虑归还资金以获得赏金

Tribe DAO似乎还有信心,因为他们通过etherscan发送了以下信息。

我们注意到你可能正在考虑无条件的1000万美元的提议。如果你想接受我们的提议,请将剩余的资金存入Tribe DAO的Timelock合约:0xd51dbA7a94e1adEa403553A8235C302cEbF41a3c

所有分叉Compound代码的项目都应该借此机会检查他们是否存在类似的漏洞。

正如0x_b1所指出的:

这个漏洞在一段时间前已经在Compound代码中被修复了,但在这个提交中被开发者变更为以前的形式。

希望那个向Rari询问Arbitrum池是否安全的用户没有受到太严重的影响,因为Rari向他们保证安全,但他们今天却成为了同样漏洞的受害者。

一个快速的检查就可以防止重入损害的发生。

现在Rari在排行榜上排名第10


分享本文

REKT作为匿名作者的公共平台,我们对REKT上托管的观点或内容不承担任何责任。

捐赠 (ETH / ERC20): 0x3C5c2F4bCeC51a36494682f91Dbc6cA7c63B514C

声明:

REKT对我们网站上发布的或与我们的服务相关的任何内容不承担任何责任,无论是由我们网站的匿名作者,还是由 REKT发布或引起的。虽然我们为匿名作者的行为和发文设置规则,我们不控制也不对匿名作者在我们的网站或服务上发布、传输或分享的内容负责,也不对您在我们的网站或服务上可能遇到的任何冒犯性、不适当、淫秽、非法或其他令人反感的内容负责。REKT不对我们网站或服务的任何用户的线上或线下行为负责。