The protocol allows users under liquidation to continue depositing NFTs as collateral. These newly deposited NFTs are then automatically seized during liquidation finalization, creating a deceptive situation where users lose additional assets while attempting to improve their position.
The depositNFT() function lacks a check for the user's liquidation status:
During finalizeLiquidation(), ALL NFTs in the user's position are transferred to the Stability Pool:
Users under liquidation can unknowingly lose additional NFTs by depositing them while trying to salvage their position. When liquidation is finalized, these newly deposited NFTs are seized along with the original collateral, even though they were added after liquidation was initiated. This creates an unfair loss of user assets and could be seen as a form of value extraction from users who are attempting to rescue their positions.
Manual Review
Add liquidation status check to depositNFT:
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.