Summary:
The getNFTPrice function retrieves NFT prices from an oracle but fails to validate the freshness of the data. It does not check the lastUpdateTimestamp returned by priceOracle.getLatestPrice(tokenId), allowing stale prices to be used for collateral valuation.
Undercollateralized Loans: Stale prices may overvalue NFTs, enabling borrowers to take excessive loans.
Unfair Liquidations: Outdated prices could trigger incorrect liquidations during market volatility.
Protocol Insolvency Risk: Systemic mispricing threatens the entire lending pool’s collateralization ratio.
Manual code review
Implement a maxPriceAge check in the oracle contract.
Add circuit breakers to pause borrowing/lending if oracle data is stale.
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.