LiquidationPool::distributeAssets() has no access control and anyone can call the function. It has to have an owner or admin or manager access control to run the said function as intended and not ruin the workings of the protocol.
The malicious actor/s could pass a value on the parameter _collateralRate
such that when positions are calculated his/their position will be inflated.
Here's the said function for quick reference.
Malicious actors can gain from this and the losses will be absorbed by the honest users.
Manual Review
Create a modifier to control access or just use existing modifier onlyManager
.
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.