Normal behaviour: There needs to be some kind of counter/cap that is essential for fair faucet and token distribution. dailyDripsshould keep track of the cumulative amount of Sepolia ETH that was distributed in a 24h window until cap dailySepEthCap.
A user who has not claimed any seplia eth yet, because she is new to the faucet hasClaimedEth[faucetClaimer] == false or Sepolia Eth drips was paused sepEthDripsPaused == true, will reset the dailyDrips counter on the next day.
Issue: An attacker can reset the daily Sepolia Eth distribution amount by using an account that has already received the initial Sepolia ETH hasClaimedEth[faucetClaimer] == true or when paused sepEthDripsPaused == true . By creating of multiple of accounts the contract can be drained of the Sepolia Eth amount, or any other native token/mainnet ETH when deployed on other chains.
Likelihood (high):
The glitch occurs every time if a claimer returns for 2nd or when a user claims but ETH drips paused
Impact:
Critical functionality bypass, ETH drips cap circumvented
ETH reserves are drained
dailyDrips can be reset.
Remove the erroneous else block that resets dailyDrips = 0.
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.