Description:
The timelock delay is computed from txn.value only. However, the wallet supports arbitrary contract calls via txn.data
A signer can propose a call to an ERC20 token contract to transfer a very large token balance while setting value = 0. That yields NO_TIME_DELAY, so the transfer can execute immediately even if it represents significant value.
Impact:
If users deposit ERC20 tokens / NFTs to this wallet (or use it for governance actions on other contracts), the “dynamic timelock” does not protect those assets/actions. High-value transfers can execute with no delay, undermining a key security goal described in the README.
Proof of Concept:
Mitigation:
Decide what the timelock is meant to protect:
If the wallet is ETH-only, explicitly restrict data to empty or add a separate mode for contract calls.
If the wallet is meant to protect arbitrary value/actions, apply a timelock policy not solely based on ETH amount, e.g.:
minimum delay for any non-empty data,
per-transaction delay parameter set at proposal time (and confirmed by signers),
allowlist / risk tiers for target contracts/selectors.
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.
The contest is complete and the rewards are being distributed.