nftTokenIds
within its UserData
struct that can be manipulated by users to trigger out-of-gas (OOG) exceptions in critical functions, particularly affecting the liquidation process. This vulnerability could prevent the liquidation of undercollateralized positions, putting the protocol's solvency at risk.nftTokenIds
array in the UserData
struct that can grow without bounds through repeated calls to depositNFT()
. This array is iterated in several critical functions:The array is also iterated in other functions that calculate collateral value:
A malicious user could:
Take out loans
Deposit a large number of low-value NFTs through multiple calls to depositNFT()
Let their position become undercollateralized
The large number of NFTs would cause the liquidation to fail due to OOG
The impact of this vulnerability is rated as high because the attack creates a direct risk to protocol solvency by preventing the liquidation mechanism from functioning properly. When positions cannot be liquidated, the protocol may accumulate bad debt.
The vulnerability directly affects critical protocol functionality: liquidations are essential for maintaining protocol solvency and protecting lenders' assets.
Implement a maximum limit on NFTs per user:
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.