Core Contracts

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

User collateral NFTs are stuck upon liquidation

Summary

NFTs are transferred to the StabilityPool during a user's liquidation but there is no way to retrieve them out of the contract so they are stuck.

Vulnerability Details

When a user gets liquidated, their RAAC NFT's (which are deposited as collateral) get transferred from the LendingPool contract to the StabilityPool contract.

// Transfer NFTs to Stability Pool
for (uint256 i = 0; i < user.nftTokenIds.length; i++) {
uint256 tokenId = user.nftTokenIds[i];
user.depositedNFTs[tokenId] = false;
raacNFT.transferFrom(address(this), stabilityPool, tokenId);
}

The issue is that there are no functions inside the StabilityPool to retrieve these NFTs, nor do anything with them, and due to that they are stuck there indefinitely.

Impact

Users' NFTs used as collateral are stuck once the user is liquidated.

Tools Used

Manual Review

Recommendations

Add functionality to do something with those NFTs so they're not stuck in the stability pool.

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!