北京时间2022年8月2日13点,CertiK安全团队监测到ReaperFarm的ReaperVaultV2合约被恶意利用,导致了价值超过160万美元的损失。
攻击者利用ReaperVaultV2合约中的一个漏洞——可以销毁其他用户的vaultshare并提取代币,以此从多个vault提取了大量的代币。
截至北京时间2022年8月3日8点,160万DAI、62ETH以及200Matic已被存入TornadoCash。
攻击步骤
①攻击者部署了一个攻击者合约,通过该合约,攻击者可在一次交易中从Reapervault提取多个用户的资产。
②ReaperVaultV2合约并未检查shareowner与messagesender之间的关系,因此攻击者可以多次通过攻击者合约提取vault用户的资产。
③攻击者将从金库提取的代币换成DAI、ETH和Matic,并将其存入TornadoCash。
漏洞交易
漏洞交易之一:
https://ftmscan.com/tx/0xc929f3b9312ff26be0adb1c3ff832dbdafdcbcaad33d002744effd515e53c9d5
其余漏洞交易:
https://ftmscan.com/address/0x5636e55e4a72299a0f194c001841e2ce75bb527a
漏洞分析
在ReaperVaultV2合约的`withdraw()`函数中,vaultshare所有者可以是msg.sender以外的账户。同时,所有者与msg.sender之间的关系或是allowance未被选中,意味着人们可以从vault提取其他用户的资产。
写在最后
本次攻击事件本可通过审计发现「缺乏访问控制」这一风险因素。该风险因素将被归类于严重等级的风险。
而除审计外,CertiK安全团队建议新增的代码也需要在上线前及时进行相应测试。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。