The _getData() function in ChainlinkOracle.sol lacks validation for stale price data from Chainlink oracle feeds, which could lead to using outdated price information in critical pool operations.
In _getData(), the contract retrieves price data using priceFeed.latestRoundData() but only validates that the price is positive (data > 0). It does not implement checks for:
Stale prices using timestamp
Round completeness using answeredInRound
Round ID sequence using roundID
Affected Code
Pool operations could use stale or outdated price data
Weight updates and rebalancing could occur based on incorrect price information
Potential manipulation of pool dynamics if oracle data is not fresh
Trading functions could execute at incorrect prices
Add comprehensive oracle data validation:
LightChaser: ## [Medium-4] Insufficient oracle validation
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.