Liquidation is the process of selling assets that have been used as collateral to repay a debt when a borrower fails to meet their loan obligations.
To minimize the risk of liquidation, borrowers should regularly monitor their Credit Remaining. It is crucial to ensure that the Credit Remaining is greater than a value of $0 and remains above 0%.
According to Moonwell Docs, one of the factors that affect Credit is:
Changes in Collateral Value
The value of the provided collateral can directly impact the amount of credit available. Fluctuations in collateral value can either increase or decrease the available credit. Borrowers should be aware of these fluctuations and adjust their borrowing activities accordingly.
When a loan becomes undercollateralized, either due to decreased collateral value or increased borrowed amount, liquidators step in to protect depositors and potentially profit themselves.
This means that a user's collateral may fluctuate and adversely decrease the available credit so much to zero in the worst case. At this point, this user is eligible for liquidation but due to the undervalued collateral, there are no incentives to liquidate him.
In the MErc20DelegateFixer::fixUser() function, there is a check to determine the current amount for a user that we'll transfer to the liquidator:
https://github.com/Cyfrin/2024-03-Moonwell/blob/e57b8551a92824d35d4490f5e7f27c373be172bd/src/MErc20DelegateFixer.sol#L103-L104
It then checks if the liquidated != 0 before carrying out the transfer to the liquidator:
https://github.com/Cyfrin/2024-03-Moonwell/blob/e57b8551a92824d35d4490f5e7f27c373be172bd/src/MErc20DelegateFixer.sol#L106-L115
This means that there is a possibility that there are no tokens to be transferred to the liquidator in the event of extreme undercollateralization which implies that that the liquidator stands to make no profit from this liquidation process since there is not even enough to cover for the debt clearance.
Ideally, no liquidator would want to be in this scenario and therefore, there are higher chances that all undercollateralized users may never be liquidated, a fact that would eventually result in the protocol going underwater.
Manual Review
A potential fix would be to set a minimum threshold below which collateral value must not fall before liquidation occurs.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.