The _repay function burns an incorrect amount of DebtTokens, allowing users to repay less than owed while burning all debt, leading to collateral theft.
_repay passes the underlying asset amount directly to DebtToken.burn, but DebtTokens expect a scaled balance. This underestimates the debt to burn, enabling users to repay only a portion but have their entire debt forgiven.
Users can repay 0 debt while burning their entire DebtToken balance, allowing them to keep their collateral without repaying funds. Critical exploit risk.
Slither: Detects parameter mismatches between amount and scaled balance calculations.
Mythril: Flags unexpected state changes in DebtToken interactions.
Convert the amount to a scaled value using reserve.usageIndex before burning.
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.