The borrow() function does not validate that the specified borrowing amounts do not exceed the remaining debt ceiling after accounting for any existing debts.
This allows a user to call borrow() multiple times for the same amounts, accumulating duplicate borrow positions without detection. Over time, total debts could surpass intended limits.
Reproduction Steps:
Call borrow() to add initial debts
Call borrow() again without debt checks
Detect duplicated borrowing amounts in storage
Incorrect borrow tracking could lead to unpaid or missing debts
Manual Review
Validate borrow amounts do not duplicate existing storage debts before changing balances. Revert on duplicates to enforce unique borrowing per transaction.
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.