The RToken
contract has a function for rescuing ERC-20 tokens which cannot be used as intended.
RToken::rescueToken()
has the onlyReservePool
modifier making this function callable only from _reservePool
.
The issue stems from the fact that the contract address stored in _reservePool
(LendingPool
) has no way of calling RToken::rescueToken()
.
If ERC-20 tokens are transferred to the RToken contract by mistake the functionality intended for rescuing them cannot actually be used.
Manual review
Either implement the function that calls RToken::rescueToken()
in LendingPool
or change the access control logic on RToken::rescueToken()
to onlyOwner
so it's consistent with LendingPool::rescueToken()
.
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.