Messaggio ChainCatcher, Dilation Effect ha dichiarato in un articolo su X di aver scoperto una vulnerabilità di perdita di precisione nei contratti della serie core pool del protocollo di prestito Venus, che rende molto facile per gli attaccanti approfittare della situazione e svuotare tutti i fondi quando il protocollo aggiunge nuovi asset collaterali.
In particolare, il contratto VToken del core pool presenta un problema di perdita di precisione nella divisione quando calcola redeemTokens nella funzione redeemUnderlying. Se il protocollo aggiunge un nuovo asset collaterale sulla catena, quando LTV è maggiore di 0 e il nuovo pool di asset è un pool vuoto (totalSupply=0), e se il nuovo asset è mintable, può essere attaccato dagli hacker. Questo mette a rischio tutti i fondi all'interno del core pool.
Dilation Effect suggerisce a Venus di riparare completamente questa vulnerabilità (coprendo tutte le catene e tutti i pool coinvolti). I metodi che possono essere adottati includono arrotondare per eccesso il risultato della divisione quando si calcolano i redeemTokens (raccomandato), oppure imitare il design di Uniswap utilizzando l'initial_deposit_amount, oppure eliminare direttamente l'interfaccia redeemUnderlying, ecc.