The toggleEthDripPause function is intended to pause the faucet’s ETH dripping mechanism, preventing users from claiming Sepolia ETH while the protocol is in a paused state. However, the current implementation does not enforce this pause condition within the claimFaucetTokens function.
As a result, even after the owner calls toggleEthDripPause, users can continue to claim Sepolia ETH from the faucet, effectively bypassing the intended pause functionality.
Likelihood:
This will occur whenever the owner calls toggleEthDripPause function and a user tires to claim the faucet tokens with claimFaucetTokens function.
Impact:
This issue allows users to continue receiving Sepolia ETH despite the faucet being paused, undermining the intended access control mechanism. It can lead to unintended ETH distributions and inaccurate accounting of total dripped amounts, reducing trust in the protocol’s operational integrity.
Paste this code snippet inside RaiseBoxFaucet.t.sol and run forge test --mt test_unintendedFaucetDrip -vvvv
Implement a modifier to enforce the pause condition within the claimFaucetTokens function. For example:
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.