A user must transfer ERC20 collateral equal in value to their real estate to the RAACNFT contract during minting. Since the RAACNFT contract has no method exposed to later transfer this ERC20 token to other addresses, this collateral has been forever locked in the contract. Any collateral sent during minting is therefore forever locked in the RAACNFT contract.
The RAACNFT contract requires the user to transfer ERC20 collateral equal in value to their real estate to the RAACNFT contract during minting. It is obvious that burning the NFT should result in the collateral being unlocked and transferred back to the user (taking into account current house price and outstanding loans), however this is not the case. There is in fact no way to ever unlock the ERC20 tokens sent to the RAACNFT contract and they have therefore effectively been burned.
Here is the current mint function, showing the ERC20 token being transferred to the contract:
The impact of this vulnerability is severe:
All ERC20 tokens paid for minting NFTs become permanently locked
Neither users nor the contract owner can recover these funds
The total locked value increases with each mint operation
This necessarily leads to substantial financial losses proportional to the number of mints and total collateral value
The RAACNFT contract should offer the user the ability to burn their NFT and retrieve their collateral up to the current value of their real estate if there are no outstanding loans.
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.