Skip to content
This repository has been archived by the owner on Dec 31, 2023. It is now read-only.

PNS - Missing checks for whether arbitrum, optimism or polygon Sequencer is active #215

Closed
sherlock-admin opened this issue Jul 1, 2023 · 0 comments
Labels
Duplicate A valid issue that is a duplicate of an issue with `Has Duplicates` label Medium A valid Medium severity issue Reward A payout will be made for this issue

Comments

@sherlock-admin
Copy link
Contributor

sherlock-admin commented Jul 1, 2023

PNS

medium

Missing checks for whether arbitrum, optimism or polygon Sequencer is active

Summary

Missing checks for whether arbitrum, optimism or polygon (L2) Sequencer is active

Vulnerability Detail

Chainlink recommends that users using price oracles, check whether the Arbitrum sequencer is active

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

Impact

Wrong valuation of debt, wrongly calculated possibility of liquidation, wrong value of a possible loan. All price-dependent functions will be at risk, because with high volatility of the asset in the market, the price may be out of date.

Code Snippet

https://github.com/sherlock-audit/2023-06-dodo/blob/a8d30e611acc9762029f8756d6a5b81825faf348/new-dodo-v3/contracts/DODOV3MM/periphery/D3Oracle.sol#L48

https://github.com/sherlock-audit/2023-06-dodo/blob/a8d30e611acc9762029f8756d6a5b81825faf348/new-dodo-v3/contracts/DODOV3MM/periphery/D3Oracle.sol#L58

Tool used

Manual Review

Recommendation

Use sequencer oracle to determine whether the sequencer is offline or not.
https://docs.chain.link/data-feeds/l2-sequencer-feeds

To help your applications identify when the sequencer is unavailable, you can use a data feed that tracks the last known status of the sequencer at a given point in time. This helps you prevent mass liquidations by providing a grace period to allow customers to react to such an event.

As this requires reworking the contract specifically for individual networks, it will be best to make a variation of the D3Oracle.sol contract specifically for L2 networks, in which it will be checked whether the sequencer is "alive". Deployment of the relevant contract can be automated in the deployment script.

Duplicate of #62

@github-actions github-actions bot closed this as completed Jul 5, 2023
@github-actions github-actions bot added Medium A valid Medium severity issue Duplicate A valid issue that is a duplicate of an issue with `Has Duplicates` label labels Jul 5, 2023
@sherlock-admin sherlock-admin added the Reward A payout will be made for this issue label Jul 24, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Duplicate A valid issue that is a duplicate of an issue with `Has Duplicates` label Medium A valid Medium severity issue Reward A payout will be made for this issue
Projects
None yet
Development

No branches or pull requests

1 participant