Whenever a user has an unhealthy collateral level, he/she can be flagged for liquidation. According to the documentation, the user should handle this situation by calling closeLiquidation()
. This function is supposed to repay the debt and reset the liquidation flag to false
.
However, the issue arises because the closeLiquidation()
function does not actually repay the user’s debt. As a result, this leads to a Denial of Service (DoS), preventing the user from closing liquidation and ultimately resulting in liquidation.
According to the documentation, closeLiquidation()
is described as follows:
However, this is not the case, as the function does not actually repay the debt anywhere in its implementation. This prevents the user from closing liquidation.
Users may lose funds due to forced liquidation, despite following the expected process.
Manual review
Include repay()
in the sequence of closing liquidation to ensure the user's debt is actually settled before resetting the liquidation flag.
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.