Root Cause: The protocol documentation states the code should work for "any basket of assets" after forking, implying L2 deployment. However, oracle_lib.vy contains no sequencer uptime validation for Layer 2 networks.
Impact: On L2s like Arbitrum or Optimism, when the sequencer comes back online after downtime, there's a window where transactions can execute but oracle prices haven't updated. Attackers can exploit stale prices during this recovery period to mint excess DSC or avoid liquidation.
Normal Behavior: On Layer 2 networks (Arbitrum, Optimism, Base), the sequencer uptime feed should be checked before using price data. When the sequencer comes back online after downtime, there's a grace period before prices are reliable.
Issue: The protocol documentation states the code should work for "any basket of assets" after forking, implying L2 deployment. However, oracle_lib.vy has no sequencer uptime validation.
Likelihood:MEDIUM
Reason 1 : L2 sequencer downtime occurs periodically (Arbitrum has had multiple outages)
Reason 2 : Arbitrage bots actively monitor for these opportunities
Impact:
Impact 1 : Attackers exploit stale prices during sequencer recovery window
Impact 2 : Massive value extraction through minting at stale favorable prices
The Arbitrum sequencer goes down while ETH is at $2000. During the 2-hour downtime, ETH drops to $1500 on L1. When the sequencer restarts, transactions can be submitted immediately, but Chainlink oracles haven't pushed updated prices yet. An attacker deposits 100 ETH valued at the stale $2000 price, mints maximum DSC, and profits when prices update to reality.
Add a sequencer uptime feed check for L2 deployments. The check should verify the sequencer is online and enforce a grace period after restart before accepting any oracle prices. Set the sequencer feed address to zero for L1 deployments to skip the check.
The contest is live. Earn rewards by submitting a finding.
Submissions are being reviewed by our AI judge. Results will be available in a few minutes.
View all submissionsThe contest is complete and the rewards are being distributed.