Multiple functions may fail due to iteration over an unbounded loop.
The borrow
, repay
, giveLoan
, startAuction
, seizeLoan
and refinance
functions all iterate over an unbounded loop, with arbitrary size, received an input. Since these functions perform multiple external calls each iteration, the block gas limit may be exceeded if the amount of iterations is big enough to cause the transaction to fail.
Users stand to lose a substantial amount of gas fees provided with their transaction, which ultimately will fail. This situation can lead to financial losses, and a diminished level of trust in the protocol's reliability.
Manual Review, Solodit.
Limit the number of loop iterations to the max number of operations a user can do in bulk on a single transaction.
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.