The burn() function allows users to burn NFTs to permanently remove them from circulation.
The function fails to verify that the caller owns the NFT before burning it, allowing anyone to destroy any token in the collection without permission.
Likelihood:
Can be exploited immediately by any malicious actor
Affects every NFT in the entire collection
Impact:
Permanent destruction of any NFT in the collection
Complete loss of user assets without recourse
Breaks marketplace functionality when listed NFTs are burned
Destroys trust in the entire NFT project
This test demonstrates how any attacker can burn NFTs they don't own, causing permanent loss of valuable assets to legitimate owners.
Add ownership verification before allowing token burning. The function should only allow the token owner (or approved operators) to burn their own NFTs.
Option 1: Only owner can burn (Recommended)
Option 2: Owner or approved can 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.
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.