Normal behavior:
The mintSnowman() function should only be callable by the authorized SnowmanAirdrop contract to distribute NFTs based on verified airdrop claims.
Issue:
The mintSnowman() function lacks any access control, allowing any address to call it and mint unlimited NFTs to any recipient. This completely bypasses the airdrop verification mechanism and destroys the value and trust of the NFT distribution process.
Likelihood:
Medium — Any user who knows the contract address can interact with it directly.
Reproducibility: Always exploitable without restriction.
Ease of exploitation: Requires only a basic transaction to call the function.
Impact:
Unlimited NFT minting by anyone.
Complete devaluation of the Snowman NFT collection.
Bypassing of protocol logic around airdrops, eligibility, and rarity.
Loss of community trust, protocol integrity, and NFT holder value.
Explanation:
An attacker or any public user can call mintSnowman() directly.
They mint thousands of NFTs to any address without verification or restriction.
This bypasses the airdrop reward logic and damages the collection's credibility.
Restrict minting access to the authorized airdrop contract only. This enforces the protocol’s reward flow integrity and ensures NFTs are only issued after valid claim processes.
Explanation:
Solution: Introduces immutable i_minterAddress during deployment.
Security: Only the authorized SnowmanAirdrop contract can call mintSnowman().
Efficiency: Minimal runtime overhead added.
Compatibility: No breaking changes; integrates cleanly with deployment workflow.
This is a critical vulnerability because it allows uncontrolled supply inflation and destroys NFT value. The absence of access control breaks protocol guarantees and allows malicious or accidental misuse of minting functionality.
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.