The owner (or attacker who steals the owner's wallet) can call ThunderLoan#setAllowedToken()
to set his own token for the depositing. Also he can call ThunderLoan#updateFlashLoanFee()
to update new flash loan fee for the protocol.
ThunderLoanUpgraded
contract contains the same issues.
Many deposit()
and redeem()
transactions will fail due to insufficient allowed token amount. Users could be charged more when calling flashloan()
function.
Manual review.
The owner of the contract should be a timelock contract.
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.