Description:
LiquidationPoolManager::distributeFees
function is set to Public
, allowing anyone to call it without authorization. Therefore, others can invoke LiquidationPoolManager::distributeFees
before the execution of LiquidationPoolManager::runLiquidation
. This could lead to unexpected fee distribution, impacting the contract's fund flow.
Note: LiquidationPoolManager::forwardRemainingRewards
function is set to private
, deepening my suspicion that LiquidationPoolManager::distributeFees
should not be set as public
.
Impact:
Anyone can call it without restrictions. This could lead to unauthorized calls, compromising the expected functionality of the contract.
Due to unexpected fee distribution, it will impact the fund flow of the contract.
Recommended Mitigation:
Consider adding appropriate access control modifiers, such as onlyOwner
, to the distributeFees
function to ensure that only the contract owner can invoke this function.
Alternatively, set the distributeFees
function to private
, similar to the forwardRemainingRewards function.
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.