LendingPool protocol fee is not properly handled.
LendingPool contains protocolFeeRate which is initialized to 0 but can be updated to non-zero.
LendingPool.sol::setProtocolFeeRate()
The protocol fee is charged on user's profit earned from borrowing interest.
ReserveLibrary.sol::calculateLiquidityRate()
The problem is that protocl fee is not recorded separately, nor there is dedicated function implemented for withdrawing the fees.
Because protocol fee is not properly recorded, it's very hard to know how much fee has been collected so far.
As there is no function for withdrawing protocol fee, the fee is stuck in RToken contract.
Manual Review
It is recommended to record protocol fee properly, and implement functionality to withdraw the fee.
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.