Scope
src/MultiSigTimelock.sol: _executeTransaction, s_outflowPerDay
Normal behavior: s_outflowPerDay should slow cumulative withdrawals.
Issue: The guard resets at UTC day boundaries. An attacker can queue multiple 99 ETH transfers, wait past midnight, and execute them back-to-back with only the per-tx delay enforced, bypassing aggregate throttling.
Likelihood:
Reason 1 // Attackers can coordinate execution timing around day rollover
Reason 2 // Operational teams rarely monitor exact day boundaries
Impact:
Impact 1 // Drains large balances over consecutive day edges with minimal warning
Impact 2 // Defeats perceived “daily cap” protection promised by aggregate tracking
Explanation: Propose two 99 ETH withdrawals. Execute one at 23:59:59 and the other at 00:00:01; both see low aggregateOutflow and use only the base per-tx delay.
Explanation: Use a sliding window or rolling sum (e.g., TWAP-style) instead of calendar days, or carry forward the previous day’s outflow until a decay period elapses.
Status: Valid (Design Flaw)
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.