Сообщение ChainCatcher, Dilation Effect в X объявил, что обнаружил уязвимость потери точности в серии контрактов core pool Venus, когда протокол добавляет новые залоговые активы, это может легко позволить злоумышленникам воспользоваться ситуацией и вывести все средства.

Конкретно, в контракте VToken core pool существует проблема потери точности деления при расчете redeemTokens в функции redeemUnderlying. Если протокол добавляет новые залоговые активы на цепочке, когда LTV больше 0 и новый пул активов является пустым (totalSupply=0), и новый актив является mintable, это может быть уязвимо для атак хакеров. Это ставит все средства внутри core pool под угрозу.

Dilation Effect рекомендует Venus полностью исправить эту уязвимость (покрыть все затрагиваемые цепи и все пулы), возможные меры включают округление результата деления вверх при расчете redeemTokens (рекомендуется), или имитацию дизайна Uniswap с использованием initial_deposit_amount, или прямое удаление интерфейса redeemUnderlying и т.д.