58735 sc insight calculateliquidation reverts due to divide by zero if targetcollateralization fixed point scalar
Description
Brief/Intro
Vulnerability Details
function calculateLiquidation(
uint256 collateral,
uint256 debt,
uint256 targetCollateralization,
uint256 alchemistCurrentCollateralization,
uint256 alchemistMinimumCollateralization,
uint256 feeBps
) public pure returns (uint256 grossCollateralToSeize, uint256 debtToBurn, uint256 fee, uint256 outsourcedFee) {
...
// denom = m - 1 => (targetCollateralization - FIXED_POINT_SCALAR)/FIXED_POINT_SCALAR
uint256 denom = targetCollateralization - FIXED_POINT_SCALAR;
// debtToBurn = (num * FIXED_POINT_SCALAR) / denom
debtToBurn = (num * FIXED_POINT_SCALAR) / denom;
...
Impact Details
References
Proof of Concept
Proof of Concept
Previous58780 sc high weth yield will be locked on aaveweth pool on arbitrum Next58526 sc high missing accounting update in liquidation functions leads to permanent dos on deposits
Was this helpful?