ERC721 documentation states that _burn does not check if the sender is authorized to operate on the token. The implementation of burn does not constrain who can call it. Therefore, any arbitrary address can burn an NFT on behalf of its owner, causing the owner to lose the NFT that should belong to them.
Likelihood:
The function is public, and can be called at all times, regardless if it is in auction or not.
Impact:
Owner will lose access to their NFT
There can be still ongoing auction regarding the burnt NFT, causing logic errors in the auction.
By checking if msg.sender is owner of the token, we can prevent non owner from burning the token.
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.