12 月 22 日,Uniswap V3 流動(dòng)性管理協(xié)議 Visor Finance 再次遭受黑客攻擊,黑客借助漏洞提取了超過(guò) 880 萬(wàn)個(gè) VISR 并在 Uniswap 上賣出,導(dǎo)致 VISR 代幣暴跌近 95%,通過(guò) Tornado Cash 進(jìn)行洗幣后黑客獲利超過(guò) 120 枚 ETH。
目前 Visor 官方表示將對(duì)攻擊前地址數(shù)據(jù)進(jìn)行快照 ,進(jìn)行 VISR 遷移和退還。新 Token 將會(huì)采用新的名稱替換舊的 VISR 名稱,Token 經(jīng)濟(jì)學(xué)保持不變,并且將使用新代幣以 1:1 的比例贖回(從快照時(shí)間開始),包括質(zhì)押在 vVISR 合約中的代幣和質(zhì)押在 Tokemak 中的 Token。
據(jù)慢霧安全團(tuán)隊(duì)分析,Visor Finance 項(xiàng)目遭受攻擊是由于 RewardsHypervisor 合約在對(duì)用戶充值進(jìn)行權(quán)限檢查時(shí)存在缺陷,導(dǎo)致攻擊者可以構(gòu)造惡意合約以進(jìn)行任意鑄造抵押憑證。
具體分析內(nèi)容如下:
1. 用戶可以通過(guò) Visor Finance 的 RewardsHypervisor 合約中的 deposit 函數(shù)進(jìn)行 VISR 代幣抵押,其會(huì)先將用戶的 VISR 代幣轉(zhuǎn)進(jìn)合約中,并鑄造對(duì)應(yīng)的抵押憑證給用戶。若用戶在進(jìn)行 deposit 操作時(shí)傳入的 from 地址是合約地址,那么其會(huì)先進(jìn)行 owner 檢查再調(diào)用 from 合約的 delegatedTransferERC20 函數(shù)將 VISR 代幣轉(zhuǎn)入抵押合約中,但 owner 檢查卻檢查的是 from 合約的 owner 是否是調(diào)用者。因此攻擊者可以部署惡意合約使得惡意合約 owner 滿足此檢查,隨后就可以為任意地址鑄造抵押憑證。
2. 攻擊者利用憑空鑄造的抵押憑證即可直接通過(guò) RewardsHypervisor 合約的 withdraw 函數(shù)將合約中抵押的 VISR 取出。
因此,此次攻擊是由于 RewardsHypervisor 合約在對(duì)用戶充值進(jìn)行權(quán)限檢查時(shí)存在缺陷,導(dǎo)致攻擊者可以構(gòu)造惡意合約以進(jìn)行任意鑄造抵押憑證。
文章轉(zhuǎn)載自火星財(cái)經(jīng)