Core Contracts

Regnum Aurum Acquisition Corp
HardhatReal World AssetsNFT
77,280 USDC
View results
Submission Details
Severity: high
Valid

RAACNFT liquidated from insolvent users remain stuck in the StabilityPool contract forever

Summary

When users are finally liquidated by the Stability pool, their liquidated NFTs are sent into the StabilityPool contract which does not have any function to withdraw or trade these NFTs. These valauble NFTs remain in the pool forever.

Vulnerability Details

Users must provide RAACNFT collateral to take loans from the LendingPool. depositNFT and withdrawNFT allows for users to deposit and withdraw respectively, considering you have no unsettled debts. Users who are unable to pay these loans within the liquidation and grace period, gets liquidated of their NFT. Here is the where the issues arises:

When a manager/owner invokes the liquidateBorrower function:

POC

  • Obi acquired an NFT through the RAACNFT for high valuable house price

  • Deposits into the LendingPool contract so he can lend loans

  • He borrowed a crvUSDToken within his collateral value

  • Alice noticed his health factor and initiated liquidation

  • After the grace period has passed without Obi clearing the debt

  • Manager calls finalizeLiquidation to liquidate Obi

  • StabilityPool contract will receive his NFT that remains there forever.

Impact

Liquidated RAACNFT are stuck in StabilityPool contract.

Tools Used

Manual Review.

Recommendations

Implement withdrawal ability in the StabilityPool contract to still access these valuable NFTs.

Updates

Lead Judging Commences

inallhonesty Lead Judge 7 months ago
Submission Judgement Published
Validated
Assigned finding tags:

Liquidated RAACNFTs are sent to the StabilityPool by LendingPool::finalizeLiquidation where they get stuck

Support

FAQs

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

Give us feedback!