Borrower can grief auction via refinancing back into the same pool to prevent their collateral from ever being seized.
Lender.refinance():
allows refinancing back into the same pool,
never checks if the loan being refinanced is currently on auction,
resets loan.auctionStartTimestamp
effectively cancelling any auction.
Add PoC to test/Lender.t.sol:
A hostile borrower who never intends on repaying their loan can use this exploit to prevent their collateral from ever being seized, since the only way to seize collateral is to run an auction & have that auction finish without any buyers. This results in a lender never being able to collect payment or seize the collateral; the borrower can maintain the loan indefinitely by using this exploit to immediately stop any auction of their loan.
Manual
Don't allow refinancing of loans that are currently being auctioned or have been auctioned but had no buyers (waiting to be seized). Consider whether refinancing back into the same pool is valid or not.
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.