An operator creates a pool and a borrower attempts to borrow from it. The operator front-runs the borrower's request with a call to setPool, altering the auctionLength to 1. Once the borrower's loan is initiated, the operator immediately puts the loan up for auction, lasting only one block (~12 seconds). The operator then seizes the loan in the next block, effectively stealing the collateral from the borrower.
Operator creates a reasonable pool
Borrower calls borrow on pool
Operator front runs with a call to setPool
Operator changes the auctionLength to 1
Once the borrower borrows operator puts loan up for auction.
Since auctionLength is 1 the auction lasts for a single block. This is due to the fact that a block is executed ~12 seconds.
Then the operator calls seizeLoan in next block to steal collateral from borrower.
Customer can have his collateral taken unexpectedly
manual
Have a minimum auctionLength
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.