The distributeAssets
function in LiquidityPool lacks access control even though it is only supposed to be called by the LiquidationPoolManager.
The function is supposed to only be called by the LiquidationPoolManager via the runLiquidation
function.
The sponsor confirmed this, but also if this isn't the case, then anyone will be able to call it, passing any assets they want and any values for _collateralRate
and _hundredPC
which in turn affect the calculations of the rewards, so a malicious users could manipulate his rewards and then drain the pool.
Rewards manipulation and lost of funds.
Manual review
Add an access control modifier.
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.