The Snowman::mintSnowman()
function is externally callable with no access control, allowing anyone to mint unlimited NFTs. This bypasses the protocol’s intended eligibility requirements and breaks the airdrop mechanism.
Likelihood:
This will occur any time a user discovers the function and calls it, since there is no restriction. No preconditions or prerequisites are needed — only a contract interaction.
Any automated system, bot, or attacker can mass-call this function to mint large quantities of NFTs, damaging trust in the collection and making cleanup very difficult.
Impact:
Any user can mint unlimited NFTs.
Undermines the reward mechanism tied to Snow token holding.
Ruins scarcity and value.
This test demonstrates how an arbitrary user can mint NFTs at will:
Restrict the mintSnowman()
function using access control, and implement a supply cap to prevent infinite minting
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.