Due to loops over the unbounded holders and pendingStakes arrays, the following functions will be in a state of DoS:
LiquidationPool::getStakeTotal: DoS due to loop over holders array leading to a potential DoS in LiquidationPool::distributeAssets which can block all liquidations.
LiquidationPool::getTstTotal: DoS due to loops over the holders and pendingStakes arrays leading to a potential DoS in LiquidationPool::distributeFees which can block all liquidations and prevent stakers from calling LiquidationPool::increasePosition and LiquidationPool::decreasePosition.
LiquidationPool::deleteHolder: Potential DoS due to loop over the holders array leading to a potential DoS in LiquidationPool::decreasePosition, preventing stake removal.
LiquidationPool::deletePendingStake: Potential DoS due to loop over pendingStakes array leading to potential DoS in LiquidationPool::consolidatePendingStakes which leads to a potential DoS in LiquidationPool::increasePosition, LiquidationPool::decreasePosition and LiquidationPool::distributeAssets preventing stake addition/removal and prevent all liquidations.
LiquidationPool::addUniqueHolder: Potential DoS due to loop over holder array leading to DoS potential in LiquidationPool::increasePosition, preventing stake addition.
LiquidationPool::distributeFees: DoS potential due to loops over the holders and pendingStakes arrays, preventing stake from being added/removed and preventing liquidations.
LiquidationPool::distributeAssets: DoS potential due to loop over the holders array, preventing all liquidations.
For example, the following snippet shows the loop over the unbounded holders array in LiquidationPool::distributeFees:
This will prevent all liquidations and prevent stakers from adding/removing to/from the liquidation pool.
Stakers will not be able to increase/decrease their positions. Liquidations are also blocked. Therefore, this is a high-severity finding.
Avoid looping over unbounded arrays.
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.