The protocol is to be deployed on Arbitrum and Avalanche, in KeeperProxy
, sequencer address is hardcoded, however, such address only exists on Arbitrum, but not Avalanche.
Here in KeeperProxy::initialize
:
We see the sequencer address is hardcoded, by check on Arbitrum, this is indeed a sequencer contract: https://arbiscan.io/address/0xFdB631F5EE196F0ed6FAa767959853A9F217697D
However, since the protocol will also be deploying as Avalanche, according to SnowScan on C-Chain: https://snowtrace.io/address/0xFdB631F5EE196F0ed6FAa767959853A9F217697D
This is an empty address. This means all function calls will fail, and since there is no other ways of updating sequencer address, it will cause permanent DOS.
Permanent DoS due to incorrect address on Avalanche chain.
Manual review
Change address accordingly or provide interface updating sequencer address.
Likelihood: High, run and runNextAction will revert. Impact: Low, any deposit will be retrieve thanks to cancelFlow.
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.