Description
Certain ERC20 tokens, like USDC, feature the capability to blacklist specific addresses, effectively restricting their ability to send or receive tokens. Transactions involving these blacklisted addresses result in reverts. The utilization of such tokens in the future could lead to funds becoming inaccessible. The vulnerability is situated within LiquidationPool::claimRewards()
. This function solely employs .transfer()
instead of the safer .safeTransfer()
on line 175 and lacks the provision to specify a to
address. Consequently, should a holder's account be blacklisted by one of their reward tokens, invoking the claim function consistently results in a revert.
Impact
Incorporating ERC20 tokens featuring blacklist functionality into the accepted collateral tokens could render a holder incapable of claiming their complete rewards from liquidated smart vaults if their address gets blacklisted by one of the reward tokens.
Recommended Mitigation
To address this issue, consider implementing a to
address variable within the function, providing the option to designate the recipient address for transferred funds.
Tools Used
Manual Review
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.