BidBeasts::burn function has no access controls, allowing a non-owner to burn any NFT at any time, including while listed on the marketplace. Severe disruption to the protocol's functionality.Normal behaviour NFT could be burned only by the ownerOf NFT.
The `BidBeasts::burn` function is public and lacks access controls, allowing any address to burn any NFT. This poses a serious security risk as it enables unauthorized destruction of NFTs.
This could result in financial loss for the owner, as they would be unable to recover the NFT. Additionally, it could cause financial loss for buyers and severely disrupt the intended functionality of the `BidBeastsNFTMarket` contract, as it allows bidding on non-existent NFTs due to its reliance on transferring access control from `sellers` to the `marketplace`.
Likelihood: High
It's highly probable to happen.
Directly function call.
Impact:
There's a severe disruption of protocol functionality.
Unauthorized destruction of NFTs
Financial loss for the NFT owner.
This test is designed to demonstrate the case when non-owner can burn any NFT.
Add an access control check to the BidBeasts::burn function to allow only the owner of the NFT to burn it.
In the BidBeasts ERC721 implementation, the burn function is publicly accessible, allowing any external user to burn NFTs they do not own. This exposes all tokens to unauthorized destruction and results in permanent asset loss.
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.