Liquidation transaction can be frontrun to steal liquidator's reward.
When a position is no longer sufficiently collateralized, the liquidate()
function can be called to liquidate the position and earn a 10% bonus. However, when someone finds a liquidation opportunity and calls this function, anyone can frontrun it and execute the liquidation first to get the bonus reward.
On the long run, there might no longer be an incentive to liquidate bad positions because the liquidation rewards can be stolen by frontrunning.
Manual review
Implement a Commit-Reveal mechanism or incentivize users to use Flashbots when calling the liquidate()
function.
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.