Normal Behavior: The claimSnowman function should allow each user to claim NFTs only once, enforced by s_hasClaimedSnowman.
Specific Issue: The function sets s_hasClaimedSnowman[receiver] = true but doesn’t check it before processing, allowing multiple claims if users acquire more Snow tokens and new proofs/signatures.
Likelihood:
Occurs when users acquire additional Snow tokens and generate new valid proofs/signatures.
Feasible during the 12-week farming period when Snow tokens are obtainable.
Impact:
Multiple unauthorized claims inflate NFT supply, reducing scarcity.
Undermines airdrop fairness, favoring users who manipulate balances.
The claim function of the Snowman Airdrop contract doesn't check that a recipient has already claimed a Snowman. This poses no significant risk as is as farming period must have been long concluded before snapshot, creation of merkle script, and finally claiming.
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.