Normal behavior: burn should only allow the token owner or an approved operator (or a privileged role) to permanently destroy a token.
Issue: burn(uint256) is public and lacks any ownership/approval check, allowing any caller to burn any
Likelihood:
Any externally owned account (EOA) or malicious contract can call burn at any time after the token exists — occurs whenever a token exists on-chain and burn is callable.
Scripts or bots scanning for high-value tokens can mass-invoke burn rapidly against targets.
Impact:
Permanent destruction of users' NFTs (loss of asset and associated metadata).
Breaks marketplace assumptions (listed/sold tokens may be burned mid-flow), causing fund-logic inconsistencies.
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.