Anyone being able to call the burn function poses a denial of service (DoS) and loss to the platform (fees loss) risk.
Describe the normal behavior in one or more sentences
The burn function is supposed to be a protected core function that is only callable by an authorized entity(account) like the contract owner or other entity with authorized access.
Explain the specific issue or problem in one or more sentences
Calling this function successfully would send the NFT to the zero address and render it unavailable on the marketplace to be bid on or purchased.
This would learn to a classic denial of service and loss to the platform as fees cannot be charged on an item (NFT) that is no longer listed since it has been burned.
Likelihood: HIGH
Reason 1: When the listed NFT is burned, bidders can no longer bid on it as it is non-existent.
Reason 2: Protocol cannot charge 5% feeds since bids cannot be placed.
Impact:
Impact 1: Denial of Service to platform (marketplace) users (bidders)
Impact 2: Loss of platform fees since fees cannot be charged on an unavailable listing.
The solidity test function below shows a clear PoC for the denial of service to marketplace users (bidders), the seller, and also loss of ability to charge marketplace fees by BidBeasts.
onlyOwner access control tag from OpenZeppelin or bidbeasts defined modifier should be used to restrict authorization of burn functionality to only the contract owner or authorized entity.
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.