The LendingPool
contract risks a DoS during liquidation. Unbounded iteration in NFT processing can exceed gas limits and block liquidation.
Affected Code
LendingPool::getUserCollateralValue
Used during collateral checks in liquidation:
LendingPool::finalizeLiquidation
Iterates over NFTs during liquidation:
Issue:
An attacker can mint and deposit many low-valued NFTs. The resulting large NFT array may cause gas exhaustion in these loops during liquidation.
Liquidation failures may leave the system undercollateralized.
Manual code review
Limit the number of NFTs a user can deposit.
Implement batch processing for NFT iteration.
LightChaser L-36 and M-02 covers it.
LightChaser L-36 and M-02 covers it.
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.