Root Cause:
buy() has no whitelist restriction, allowing anyone to purchase NFTs. However list() requires onlyWhitelisted, permanently trapping non-whitelisted buyers with NFTs they cannot resell.
Impact: Non-whitelisted buyers are stuck with NFTs they cannot sell, and the owner loses fee revenue from secondary sales.
Description:
The protocol allows anyone to buy NFTs via buy() but restricts listing to whitelisted users only via list(). This creates a situation where a non-whitelisted buyer can purchase an NFT but has no way to resell it unless the owner manually whitelists them, breaking the core resale functionality of the marketplace.
Likelihood: High
This occurs every time a non-whitelisted user purchases an NFT with no special conditions required
The owner must manually whitelist every buyer for resale to work, which is an unreasonable operational burden
Impact: Medium
Non-whitelisted buyers are permanently trapped with NFTs they cannot sell
The owner loses progressive fee revenue from every secondary sale that cannot happen due to this restriction
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.
The contest is complete and the rewards are being distributed.