Missing proper access control in the LiquidationPool.distributeAssets
function.
It appears that the LiquidationPool.distributeAssets
function is intended to be exclusively callable by the LiquidationPoolManager
as part of the liquidation process initiated by LiquidationPoolManager.runLiquidation
. However, currently, the LiquidationPool.distributeAssets
function lacks access control. This oversight allows any user to call it with arbitrary parameters. These parameters include:
_assets
array, which specifies the tokens and amounts to be distributed along with the price feed for price determination.
_collateralRate
, utilized in calculating the costInEuros
.
_hundredPC
, a factor in the costInEuros
calculation, which must be a constant (1e5)
The LiquidationPool.distributeAssets
function requires token approval by the LiquidationPoolManager
before transferring tokens from it. Because of this, no immediate vulnerabilities compromising the protocol are currently evident. However, future upgrades may introduce significant issues if this function remains unregulated.
Manual Review
To mitigate this issue, it is recommended to implement the onlyManager
modifier in the distributeAssets
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.