Under normal circumstances, only the owner of an NFT should be able to burn their NFT
Currently there are no restrictions on who can burn what NFT in BidBeasts_NFT_ERC721::burn, allowing any and all NFTs to be burned by any user
Likelihood:
High likelihood as the attack is simple to execute and high impact
Impact:
Nobody can own NFTs as they'll just be burned by someone else
The main protocol functionality, an NFT marketplace, is stopped as there are no NFTs to trade
If someone does manage to buy an NFT, they'll loose any money they spent as someone can burn the NFT after purchase
Place the following into BidBeastsMarketPlaceTest.t.sol.
To prevent this, add an onlyOwner check to BidBeasts_NFT_ERC721::burn.
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.