The GlobalConfigurationBranch::configureSequencerUptimeFeedByChainId function lacks validation to check for zero addresses in the sequencerUptimeFeedAddresses array. This could lead to setting an invalid address as a sequencer uptime feed, potentially disrupting protocol operations.
The GlobalConfigurationBranch::configureSequencerUptimeFeedByChainId function allows the owner to configure sequencer uptime feed addresses for multiple chain IDs. While the function checks that both arrays (chainIds and sequencerUptimeFeedAddresses) are non-empty and have matching lengths, it does not verify that the addresses in the sequencerUptimeFeedAddresses array are non-zero.
Here is a relevant code snippet:
If a zero address is set as a sequencer uptime feed, it can lead to:
Failed or unexpected behavior in protocols relying on the uptime feed.
Disruptions in protocol operations, especially in functionalities dependent on accurate uptime feeds.
Manual Review
To mitigate this risk, a check should be added inside the for-loop to ensure that none of the addresses in the sequencerUptimeFeedAddresses array is a zero address. The following code snippet illustrates this:
This additional check will prevent zero addresses from being set, ensuring the integrity and reliability of the sequencer uptime feeds.
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.