12 月 22 日,Uniswap V3 流动性管理协议 Visor Finance 再次遭受黑客攻击,黑客借助漏洞提取了超过 880 万个 VISR 并在 Uniswap 上卖出,导致 VISR 代币暴跌近 95%,通过 Tornado Cash 进行洗币后黑客获利超过 120 枚 ETH。
目前 Visor 官方表示将对攻击前地址数据进行快照 ,进行 VISR 迁移和退还。新 Token 将会采用新的名称替换旧的 VISR 名称,Token 经济学保持不变,并且将使用新代币以 1:1 的比例赎回(从快照时间开始),包括质押在 vVISR 合约中的代币和质押在 Tokemak 中的 Token。
据慢雾安全团队分析,Visor Finance 项目遭受攻击是由于 RewardsHypervisor 合约在对用户充值进行权限检查时存在缺陷,导致攻击者可以构造恶意合约以进行任意铸造抵押凭证。
具体分析内容如下:
1. 用户可以通过 Visor Finance 的 RewardsHypervisor 合约中的 deposit 函数进行 VISR 代币抵押,其会先将用户的 VISR 代币转进合约中,并铸造对应的抵押凭证给用户。若用户在进行 deposit 操作时传入的 from 地址是合约地址,那么其会先进行 owner 检查再调用 from 合约的 delegatedTransferERC20 函数将 VISR 代币转入抵押合约中,但 owner 检查却检查的是 from 合约的 owner 是否是调用者。因此攻击者可以部署恶意合约使得恶意合约 owner 满足此检查,随后就可以为任意地址铸造抵押凭证。
2. 攻击者利用凭空铸造的抵押凭证即可直接通过 RewardsHypervisor 合约的 withdraw 函数将合约中抵押的 VISR 取出。
因此,此次攻击是由于 RewardsHypervisor 合约在对用户充值进行权限检查时存在缺陷,导致攻击者可以构造恶意合约以进行任意铸造抵押凭证。
参考交易:
https://etherscan.io/tx/0x69272d8c84d67d1da2f6425b339192fa472898dce936f24818fda415c1c1ff3f
https://etherscan.io/tx/0x6eabef1bf310a1361041d97897c192581cd9870f6a39040cd24d7
0 条评论
请「登录」后评论