ChainCatcher 消息,Dilation Effect 在 X 發文稱,其發現 Venus 借貸協議的 core pool 系列合約存在精度損失漏洞,當協議增加新抵押資產時,極容易讓攻擊者趁虛而入,抽乾全部資金。

具體來說,core pool 的 VToken 合約在 redeemUnderlying 函數中計算 redeemTokens 時存在除法精度損失問題。如果協議在鏈上增加新抵押資產,當 LTV 大於 0,且新資產池子是一個空池 (totalSupply=0),當新資產是 mintable 時,就會被黑客攻擊。這讓所有 core pool 內的資金處於風險之中。

Dilation Effect 建議 Venus 能全面修復此漏洞(覆蓋涉及的全部鏈和全部 pool),可採取的方法包括在計算 redeemTokens 時除法結果向上取整(推薦),或模仿 Uniswap 使用 initial_deposit_amount 的設計,或直接刪除 redeemUnderlying 接口等。