The withdrawAllFailedCredits function checks the balance of _receiver but clears the balance and sends funds to msg.sender, allowing anyone to steal failed transfer credits.
Likelihood:
Any user can call this function with any address that has failed transfer credits
The vulnerability is easily exploitable with a simple function call
No access control prevents unauthorized withdrawal
Impact:
Complete theft of all failed transfer credits from any user
Users lose funds that should be rightfully theirs
Contract becomes untrustworthy for handling failed transfers
withdrawAllFailedCredits allows any user to withdraw another account’s failed transfer credits due to improper use of msg.sender instead of _receiver for balance reset and transfer.
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.