Protocol/Owner can stop a particular token from redeeming using ThunderLoan::setAllowedToken
and all the token holder of that token will not be able to redeem their funds.
Let's say protocol allowed tokenA to receive then LP can deposite/redeem and users can take flashloan but the moment protocol/malicious owner decides to stop a token from receiving then there is no way for the LP to redeem their funds because ThunderLoan::redeem
only lets you redeem
allowed tokens. Even if you try to re-allow that tokenA then it will be completely new tokenA, not that old one. therefore no way for LP to redeem their funds.
//Here is POC
Result
LP will lose their complete fund.
Manual review, Foundry
Implement a withdrawl method for allowing LP to redeem previously allowed tokens or give them some grace period before completely blocking token so that LP can redeem their funds.
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.