else { dailyDrips = 0; }
resets dailyDrips
incorrectlyIn the ETH drip section:
The else
branch resets dailyDrips
whenever either (a) hasClaimedEth
is true for the claimer or (b) drips are paused. This causes dailyDrips
to be reset on claims by non-first-time claimers, effectively allowing the daily ETH cap to be bypassed. Example: an attacker who already claimed ETH (so hasClaimedEth == true
) causes dailyDrips
to be zeroed and then a first-time claimer can receive ETH again because the counter was reset incorrectly by others.
Impact: The daily ETH cap becomes unreliable and can be reset incorrectly by unrelated claims, enabling more ETH to be distributed than intended (cap bypass).
Likelihood: Medium
Impact: Medium (excess ETH distribution; could be exploited for repeated ETH drains)
Do not reset dailyDrips
in the else
. Remove the else
block entirely:
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.