The liquidation process allows the Stability Pool to acquire NFTs at potentially undervalued prices without providing fair compensation to the liquidated user. This creates an unfair advantage for the Stability Pool and may lead to user losses.
In the finalizeLiquidation
function, when the grace period expires, the Stability Pool takes ownership of the liquidated user's NFTs without an adequate compensation mechanism. The NFTs are transferred directly to the Stability Pool, which may acquire them at a price significantly lower than their fair market value.
The issue arises because there is no mechanism to ensure that the Stability Pool compensates the liquidated user fairly for the seized NFTs. This could be exploited to allow the Stability Pool to acquire high-value NFTs at a discount, leading to a loss for users.
Assumption: User Alice pledges NFT to borrow money
Alice pledges an NFT, and the current market price is 15 ETH.
Alice borrows 10 ETH for trading or other purposes.
Liquidation Threshold = 80%, which means:
The market fluctuates, and the price of Alice's NFT drops from 15 ETH to 11 ETH.
• Recalculate the health factor:
Health factor = 11*0.8/10 = 0.88
Stability Pool gets NFT at a low price
Stability Pool sees Alice trigger liquidation and pays 10 ETH to liquidate the debt.
But the market price of Alice's NFT is now 11 ETH, and Stability Pool only spends 10 ETH to take the NFT.
Alice loses 1 ETH (her NFT is worth 11 ETH, but her debt only offsets 10 ETH).
Stability Pool earned 1 ETH, which is equivalent to buying NFT at a low price.
Users whose NFTs are liquidated may receive unfairly low compensation.Users may lose confidence in the protocol if liquidations are perceived as unfair.
Manual review
Add premium return mechanism
• Calculate the current market price of NFT (can be provided by oracle or DEX price).
• If the market price is higher than userDebt, return the difference to the user.
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.