The earnSnow()
function allows users to mint 1 SNOW token per week during the farming period. A cooldown mechanism is enforced using the s_earnTimer
variable.
s_earnTimer
is a global timestamp shared across all users. This means a single user can call earnSnow()
and set the timer, which then blocks everyone else from using the function for the next 7 days. This enables griefing and DoS by any externally owned account.
Likelihood:
This will occur any time a user successfully calls earnSnow()
, as it unconditionally updates the shared s_earnTimer
.
It will be exploited when any user wants to block others by repeatedly calling the function before the 1-week window expires.
Impact:
Only one address can mint through earnSnow()
per 7-day interval, breaking fairness and expected behavior.
Repeated exploitation permanently disables earning for everyone else, leading to denial of service and potential centralization of token distribution.
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.
The contest is complete and the rewards are being distributed.