The borrow
function does not enforce a minimum borrow amount, allowing users to borrow very small amounts (e.g., 1 wei). This can lead to the creation of small, uneconomical positions that are difficult or costly to liquidate, increasing the risk to the protocol and other users.
Root Cause:
The borrow
function does not include a check for a minimum borrow amount.
Users can borrow very small amounts, creating positions that are not worth liquidating due to high gas costs relative to the value of the position.
Small Positions: Small borrows can result in positions that are uneconomical to liquidate.
Inefficient Liquidation: Liquidators may avoid small positions because the gas costs outweigh the potential rewards.
Increased Risk: Small, undercollateralized positions may remain un-liquidated, increasing the risk to the protocol and other users.
A user borrows a very small amount of reserve assets (e.g., 1 wei) using their NFT collateral.
The user's position becomes undercollateralized, but the liquidation process is not initiated because the gas costs outweigh the potential rewards.
The small position remains un-liquidated, increasing the risk to the protocol and other users.
Manual Review
Implement Minimum Borrow Amount:
Add a check to ensure the borrow amount is above a minimum threshold.
Example:
2. Update borrow
Function:
Add the minimum borrow amount check to the borrow
function.
Example:
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.