The DebtToken's burn function incorrectly compares unscaled amount with scaled userBalance
, leading to insufficient debt burning and allowing users to escape full debt repayment.
In burn
, amount
is capped to userBalance
but uses unscaled values, potentially under-burning.
Path:
User has 100 scaled debt tokens (200 actual debt)
Attempts to burn 150 tokens
Comparison uses unscaled values
Burns less than required debt
Debt remains partially unpaid
Users may not repay full debt, causing bad debt accumulation.
manual
Ensure userBalance
reflects the scaled value with the latest index.
The amount and userBalance are both in actual debt units, making the comparison valid. No reverts occur - the burn function works as intended by burning the correct scaled amount from storage.
The amount and userBalance are both in actual debt units, making the comparison valid. No reverts occur - the burn function works as intended by burning the correct scaled amount from storage.
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.