15,000 USDC
View results
Submission Details
Severity: medium
Valid

Missing checks for whether L2 Sequencer is active may result in stale prices being used

Summary

Missing checks for whether L2 Sequencer is active may lead to stale prices being used.

Vulnerability Details

When utilizing Chainlink in L2 chains like Arbitrum, Optimism and Metis, it is important to ensure that the prices provided are not falsely perceived as fresh, even when the sequencer is down. Chainlink recommends that users using price oracles, check whether the Arbitrum sequencer is active

https://docs.chain.link/data-feeds#l2-sequencer-uptime-feeds

If the sequencer goes down, the index oracles may have stale prices, since L2-submitted transactions (i.e. by the aggregating oracles) will not be processed.

Impact

Stale prices, e.g. if USDC were to de-peg while the sequencer is offline, stale price is used and can result in no liquidations being done when needed.

Tools Used

Manual review

Recommend Mitigation

Check that if contract is on any of the known L2 chains (by chainId) then to also check if the sequencer is active.
Add this check in the OracleLib::staleCheckLatestRoundData

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.