s_earnTimer
reset logic allows users to bypass the 1-week cooldown by repeatedly calling earnSnow()
in the same block.Impact: Attackers can mint unlimited tokens, breaking the tokenomics (inflation, governance dilution, or reward system abuse).
s_earnTimer + 1 weeks
) but resets s_earnTimer
to block.timestamp
after minting. Since block.timestamp
remains constant within a single transaction, an attacker can:Call earnSnow()
multiple times in one transaction (via a contract).
Bypass the cooldown check each time because s_earnTimer
is only updated at the end of the function.
Likelihood:
High (No specialized skills needed; exploitable in one transaction).
Impact:
High (Total supply inflation, governance attacks, or reward pool drainage)
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.