burnFaucetTokens() is called by the owner in oder to burn a specific amount of token and the amount of token is specified as input to the function. Then, the amountToBurn must be transfer to the owner address and then burned. This is the expected behavior.
The issue here is that the contract transfer to the owner balanceOf(address(this)), which is the total balance of the contract and then only burn amountToBurn.
Likelihood:
It will occur whenever an owner try to burn any amountToBurn
Impact:
his behavior can deplete the contract’s entire token reserve, break the intended tokenomics, and cause loss of tokens meant to remain in the contract.
Excessive and unintended token transfer, allowing the owner to receive more tokens than intended to burn
Breaks the limitation that prevents owner from receiving faucet tokens
No need to transfer to owner is order to burn; owner can burn directly from a contract the amount that need to be burned.
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.