When querying Chainlink for stable prices, Cvx3CrvOracle doesn't run sanity checks against stale or incomplete results.
This is unlike Yield's ChainlinkMultiOracle, which does execute those checks.
Impact
Stale or incorrect results might be returned.
Proof of Concept
When querying Chainlink, Cvx3CrvOracle only checks that the price is bigger than 0:
Handle
kenzo
Vulnerability details
When querying Chainlink for stable prices, Cvx3CrvOracle doesn't run sanity checks against stale or incomplete results. This is unlike Yield's ChainlinkMultiOracle, which does execute those checks.
Impact
Stale or incorrect results might be returned.
Proof of Concept
When querying Chainlink, Cvx3CrvOracle only checks that the price is bigger than 0:
But further checks are needed to verify the price is not stale, as Yield's ChainlinkMultiOracle does:
Recommended Mitigation Steps
Add the missing sanity checks.