Throughout the execution of processWithdrawFailure without updating self.refundee, the remaining fee for adding mobility is sent to the user who called withdraw, resulting in a loss of keeper.
Throughout the execution of processWithdrawFailure without updating self.refundee, the remaining fee for adding mobility is sent to the user who called withdraw, resulting in a loss of keeper.
Further, the user can control the self.withdrawCache.withdrawParams.minWithdrawTokenAmt parameter, which causes the initiated withdraw request to always go to processWithdrawFailure. thus multiple times to get the rest of the In severe cases, this can drain the keeper of all its funds.
Serious cases can drain all of keeper's funds.
manual
It is recommended to correctly update self.refundee to keeper in the processWithdrawFailure function.
Impact: High (loss of funds for keepers) Likelihood: High - processDepositFailure - processWithdrawFailure
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.