The ChainlinkOracle contract's _getData() function lacks staleness validation when fetching price feed data for QuantAMM's Temporal Function Market Making (TFMM) operations. The function accepts price data without validating the time difference between block.timestamp and the oracle's updatedAt timestamp.
The severity of this vulnerability is magnified by QuantAMM's automated portfolio management architecture. The TFMM mechanism relies on continuous and accurate price data to perform weight updates and portfolio rebalancing. When stale prices are accepted, the entire rebalancing mechanism becomes compromised, leading to systematically incorrect portfolio adjustments.
In QuantAMM's composite pool structure, price staleness can create a contagion effect where incorrect pricing in one pool propagates through dependent pools, amplifying the impact across the protocol. Strategy execution becomes particularly vulnerable as automated trading decisions are made based on potentially outdated price information, undermining the protocol's core value proposition of quantitative asset management.
During periods of market volatility, this vulnerability becomes especially dangerous as the gap between stale and actual prices widens, potentially triggering incorrect rebalancing actions that compound losses across managed portfolios. The BTF unit value calculations, critical for investor deposits and withdrawals, would also be compromised, affecting the protocol's ability to maintain accurate asset valuations.
Implement comprehensive staleness protection:
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.