The BidBeasts::burn() function does not have any access control in place (like the onlyOwner() modifier or a similar mechanism), therefore, any user can call this function and burn tokens which belong to other users. It severly impacts the correct working of the contract and disrupts its functionality.
It will hurt the trust users have in the system because they can lose their NFTs for no reason. Therefore, it completely breaks the app.
Impact:
Anyone can arbitrarily burn any NFT and damage the functionality and trustworthiness of the system.
Call BidBeasts::burn() function passing an existing tokenId (with an account other than the owner).
The NFT with that tokenId does not exist anymore.
Add the following code to the test file.
Add the onlyOwner() modifier to the BidBeasts::burn() function.
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.