Snowman.sol::mintSnowman() Causes any one can Mint arbitrary amount of NFT'sSnowman.sol::mintSnowman() function should restrict NFT minting to onlyOwner, to enforce fair distributionLikelihood:
Public Exploitability: The function is external and callable by anyone, making abuse inevitable.
Economic Incentive: Attackers will exploit this to hoard/sell NFTs or disrupt the project’s tokenomics.
Impact:
Unlimited NFT supply
Spam attacks that bloat the contract state
The provided PoC demonstrates how any arbitrary user can mint NFTs without restrictions, exploiting the missing access control and supply cap in Snowman.sol.
The current mintSnowman() function lacks below** critical security measure**:
Access Control (who can mint?)
This allows anyone to mint an unlimited number of NFTs.
1. Add Access Control (Restrict Minting to Owner)
Why?
Prevents unauthorized users from minting NFTs.
Ensures only the contract owner (or a privileged role) can control supply.
The mint function of the Snowman contract is unprotected. Hence, anyone can call it and mint NFTs without necessarily partaking in the airdrop.
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.