StrataxOracle.getPrice() queries Chainlink via latestRoundData() and uses the returned price to size flash loans, borrow amounts, and collateral withdrawals across the protocol.
The function discards updatedAt, roundId, and answeredInRound the fields required to confirm the price is fresh and from a completed round. A stale price is silently accepted as valid.
Likelihood:
Chainlink feeds go stale during L2 sequencer downtime, network congestion, or feed deprecation — the last returned price persists indefinitely with no on-chain signal of staleness
answeredInRound < roundId indicates an incomplete round; this case is never validated
Impact:
A stale, inflated collateral price allows opening over-leveraged positions beyond protocol safety margins
A stale deflated collateral price during unwind causes insufficient collateral withdrawal, trapping user funds in Aave
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.
The contest is complete and the rewards are being distributed.