consolidatePendingStakes
function can be DoSed easyly and LiquidationPool::increasePosition
, LiquidationPool::decreasePosition
, LiquidationPool::distributeAssets
functions use it. This makes the most important parts of the system unusable.
Since there is no check for minimum staking amount, a malicious user can make multiple increasePosition requests with 1 wei amount and this will increase pendingStakes length that is used in a for loop. Even if there are no malicious users, the pendingStakes list may become larger than to exceed block gas limit within 1 day during intensive use of the system.
Permanent freeze for the LiquidationPool::increasePosition
, LiquidationPool::decreasePosition
and LiquidationPool::distributeAssets
functions will make the system unusable.
Manual Review
Add msg.sender argument to consolidatePendingStakes
function will reduse the pendingStakes.length
.
Add a requirement to decreasePosition
function that checks minimum stake amount and add pendingStake limit for each user.
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.