The Snowman::mintSnowman
function lacks access control, allowing anyone to mint unlimited NFTs without needing to stake any SNOW
tokens or go through the intended airdrop process.
The follow block of code is responsible for the issue.
Likelihood:
Any external actor can directly call the mintSnowman function without restrictions
The function is publicly accessible and requires no prior authorization or token ownership
Attackers will discover this vulnerability through contract interaction or code review
Malicious actors will exploit this immediately upon contract deployment to mint free NFTs
Impact:
Complete bypass of intended airdrop logic, enabling unlimited NFT minting.
Attacker can drain contract resources by minting huge quantities of NFTs
Attacker can mainpulatie Token Counter
Place the following into TestSnowman.t.sol
Add access control logic in Snowman.sol
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.