Malicious lender can front-runs to set loan auctionLength to 1, results in a bad loan for the borrower.
A loan can be put for auction at anytime, the auction will be ended after loan.auctionStartTimestamp + loan.auctionLength.
If auction is ended, the loan will be seized.
When a borrower create a loan by calling borrow, there is no check for the pool auction length, imagine the following scenario:
Alice submits a transaction to create a loan from a pool;
The pool lender Bob sees Alice's transaction in the mempool, and front-runs to decrease the pool auction length;
Bob's transaction gets executed, pool auction length is set to 1;
Alice's transaction gets executed, loan is created but loan auction length is 1.
Bob can then put the loan for auction immediately and the auction will be ended in a block, then Bob seize the loan and get the Alice's collaterals.
Borrower loses collateral.
Manual Review
When a loan is created from a pool, should check if the pool auction length is expected.
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.