15,000 USDC
View results
Submission Details
Severity: high

Underwater positions will be stuck forever (cannot be cleared up)

Summary

Underwater positions will be stuck forever (cannot be cleared up), even if

Vulnerability Details

When a position is underwater (health factor < 50%), then the collateral value will not be enough to cover the USD debt. This means the liquidate function will always revert, since there's no way to cover the debt with the collateral in the position currently.

The situation could happen in the case of very volatile markets or when the network went down for a while and suddenly resumed (where liquidations didn't happen in the time between).

Impact

  • Minted USD may not be fully backed by the protocol, even if you want to do altruistic liquidations (pay more to cover the bad debt).

  • Instead of realizing the loss at this point, the collateral price could go down even more --> leading to high losses, since liquidations cannot happen.

Tools Used

Manual Review

Recommendations

Either

  • Relax the health factor check condition for liquidation, so altruistic liquidation can still happen, OR

  • Add an authorized function which allows altruistic liquidation.

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.