Unbounded array size could result in DOS attack. This issue exist in many functions in the LiquidationPool contract as listed below.
a) distributeAssets
b) distributeFees
Unbounded array can grow very large over time and leads to DOS attack. The arrays when looped over with computations in each loop, the size of array could lead to scenario where the gas required may exceed the block gas limit leading to denial of service.
Example, look at the LiquidationPool::distributeAssets() function, in which,
Loss of functionality
Manual Review
It is advised to review the logic so that users can process and claim rewards instead of protocol trying to process rewards for all holders in a single call.
This will eliminate the case where DOS can be eliminated.
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.