Users can call earnSnow()
freely and receive unlimited Snow tokens without any rate limit or access control.
Likelihood:
Very Likely – No on‑chain guardrails exist. As soon as the contract is live, any external actor (EOA or contract) can exploit this by automating repeated calls.
with no modifiers or checks. Any address—including bots or malicious actors—can call this every block (or repeatedly within a block via flashloan or reentrancy) to mint unlimited tokens. This breaks the fundamental security guarantee that token supply and distribution are controlled and predictable.
A malicious actor could spam calls:
earnSnow()
→ mints N tokens
Immediately repeat step 1 as often as gas allows
Accumulate an arbitrarily large Snow balanc
Impact:
High – Inflation of the Snow token destroys tokenomics, devalues existing holdings, and undermines any staking or airdrop logic that relies on relative balances.
Restrict minting via either:
Access control: onlyOwner or MINTER_ROLE
Rate limiting: require(block.timestamp > lastMint[msg.sender] + interval)
Supply cap: track totalSupply and revert past a hard cap
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.