Root: The mintSnowman function lacks any access control modifiers, allowing anyone to mint unlimited Snowman NFTs to any address without restriction or authorization.
Impact: Unrestricted minting completely breaks the intended airdrop mechanism, allowing malicious actors to mint unlimited NFTs, devaluing the collection and undermining the protocol's economic model and scarcity assumptions.
Normal Behavior: NFT minting functions should have proper access controls to ensure only authorized contracts or addresses can mint tokens, especially in an airdrop context where scarcity and controlled distribution are important.
Specific Issue: Any external caller can invoke mintSnowman() with any receiver address and amount, bypassing the intended airdrop mechanism that should require Snow token staking and Merkle proof validation through the SnowmanAirdrop contract.
Likelihood: High
The function is external and completely unrestricted, making exploitation trivial for any user
No authentication or authorization barriers exist to prevent abuse
Malicious actors can easily discover and exploit this vulnerability through contract interaction
Impact: High
Economic Manipulation: Unlimited minting destroys NFT scarcity and intended tokenomics
Airdrop Bypass: Users can obtain NFTs without participating in the intended Snow farming and staking mechanism
Protocol Failure: The entire airdrop distribution model becomes meaningless when anyone can mint freely
This test demonstrates that any external address can call mintSnowman() without restrictions. The test shows how malicious actors can mint unlimited NFTs to themselves or others, completely bypassing the intended airdrop mechanism. This breaks the protocol's scarcity model and allows anyone to obtain NFTs without staking Snow tokens or providing valid Merkle proofs.
Paste the following into TestSnowMan.t.sol and run with forge test.
Implement proper access control to restrict NFT minting to only the authorized airdrop contract.
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.