Permanent loss of assets(NFTs) for any token holder
The standard behavior for an ERC-721 token's burn function is to allow only the token owner (or an approved party) to destroy the NFT.
The contract's burn function is declared as public with no explicit access control checks applied to verify the caller's ownership or approval status before token destruction. This specific issue allows any external address to successfully call burn with any valid tokenId, leading to the unauthorized and permanent destruction of tokens owned by others.
Likelihood:
Reason 1: Direct Execution: An attacker knows the contract address and can directly call the burn(uint256) function on the blockchain using tools like Etherscan, regardless of any official dApp's authentication.
Reason 2: Zero-Cost Attack: The attacker does not need to own any tokens or possess any special privileges to execute the attack, only pay the transaction gas fee.
Impact:
Impact 1 - Permanent Asset Loss: Token owners suffer a permanent, unrecoverable loss of their NFTs, as the tokens are destroyed (sent to the zero address).
Impact 2 - Reputation Damage: The project and contract creator face severe reputational damage and potential legal consequences due to the loss of user assets.
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.