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.