The _repay
function caps repayments at userScaledDebt
but burns actualRepayAmount
without validation, enabling attackers to leave dust debt.
If actualRepayAmount < amount
, the excess amount - actualRepayAmount
is not refunded. Attackers can repeatedly repay tiny amounts to keep debt below DUST_THRESHOLD
, avoiding liquidation.
Debt Avoidance: Users avoid liquidation by maintaining dust debt.
Protocol Insolvency: Accumulated unpaid debt threatens system solvency.
manual review
Refund excess amounts
Enforce full repayment during liquidation grace periods.
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.