Normal behavior:
Under normal circumstances, when the burnFaucetTokens() function is called, the owner should only burn the specified amount of tokens (amountToBurn) from the faucet’s balance — effectively reducing the faucet’s total token supply by that amount, while leaving the rest of the tokens in the faucet contract.
Actual behavior / Issue:
Before performing the burn, the function transfers the entire token balance of the faucet contract to the owner’s address, and then burns only the amountToBurn from the owner’s balance.
As a result, any remaining tokens (beyond amountToBurn) stay with the owner instead of remaining inside the RaiseBoxFaucet contract.
This means that after a burnFaucetTokens() call, the faucet contract can be left with a zero token balance, preventing future users from claiming faucet tokens — effectively disabling the faucet functionality.
Likelihood: Medium
The only one capable of triggering this behavior is the owner.
Owner could act maliciously or accidentally misuse
Impact: High
| Impact Area | Description |
|---|---|
| Functional | Causes the faucet contract to lose all its tokens, breaking its core functionality. |
| Funds Loss | The faucet no longer holds tokens to distribute to users — effectively drained. |
| Security | Allows unintentional denial of service to the faucet’s purpose. |
| Maintainability | Fix requires redeployment or manual token transfers. |
| Reputation | Reduces trust in the protocol as funds appear mishandled. |
The PoC proves the function's behavior: instead of burning the tokens from the faucet directly, the contract:
Transfers the entire faucet token balance to the owner.
Burns amountToBurn from the owner.
Net effect: the faucet contract is emptied, owner keeps the remainder, and total supply only reduces by amountToBurn.
Instead of transfering the entire faucet token balance to the owner, burning the amountToBurn tokens from the faucet directly.
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.