sherlock-audit / 2024-06-leveraged-vaults-judging

9 stars 8 forks source link

0xrobsol - Incomplete Handling of Sequencer Uptime Checking #125

Closed sherlock-admin2 closed 2 months ago

sherlock-admin2 commented 2 months ago

0xrobsol

Medium

Incomplete Handling of Sequencer Uptime Checking

Summary

The _checkSequencer function is responsible for verifying the uptime status of a sequencer oracle. However, it lacks the implementation of a fallback mechanism (sequencerUptimeFeed) to handle updates for Layer 2 (L2) updates, potentially leading to inaccurate or incomplete uptime checks.

Vulnerability Detail

The function directly relies on sequencerUptimeOracle to obtain real-time data for determining the sequencer's uptime status. It lacks an implementation or fallback mechanism (sequencerUptimeFeed) to handle scenarios where sequencerUptimeOracle may be unavailable, outdated, or unreliable.

Impact

Code Snippet

https://github.com/sherlock-audit/2024-06-leveraged-vaults/blob/main/leveraged-vaults-private/contracts/oracles/PendlePTOracle.sol#L73-L79

Tool used

Manual Review

Recommendation

Implementing sequencerUptimeFeed and enhancing the fallback strategy within _checkSequencer will mitigate the risk associated with relying solely on sequencerUptimeOracle. This proactive approach ensures the application remains resilient against oracle failures, maintains accurate uptime monitoring, and enhances overall system reliability, especially in environments where uptime data may fluctuate or become temporarily unavailable.

sherlock-admin3 commented 2 months ago

1 comment(s) were left on this issue during the judging contest.

0xmystery commented:

On L2, the Chainlink Sequencer oracle is checked and will cause any oracle checks to revert