Description:
The mintSnowman
function in the Snowman
contract is external and lacks access control, making it vulnerable to infinite free minting for anyone.
Impact:
Anyone can mint unlimited Snowman NFTs freely at any time, breaking scarcity and the intended distribution process.
Proof of Concept:
Add the following after the TestSnowmanAirdrop
test suite:
Recommended Mitigation:
Use the onlyOwner
modifier on Snowman::mintSnowman
declaration.
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.