Scope
src/MultiSigTimelock.sol: _executeTransaction
Normal behavior: Failed executions should be cancellable.
Issue: The contract forwards all gas to txn.to and has no way to cancel a failing transaction. A malicious target can consume all gas or revert unconditionally; the transaction stays pending forever, wasting signer attempts and blocking operational queues.
Likelihood:
Reason 1 // Targets may change code after proposal
Reason 2 // Attackers can propose self-reverting contracts intentionally
Impact:
Impact 1 // Signers repeatedly pay gas to retry an unexecutable tx
Impact 2 // Operational backlog as dashboards treat the item as “ready” yet un-runnable
Explanation: Propose a call to a contract whose fallback always reverts. After three confirmations, every executeTransaction attempt reverts and cannot be canceled, leaving the item permanently clogging the queue.
Explanation: Add a cancelTransaction function to tombstone failed items and optionally include per-call gas limits to reduce griefing surface.
Status: Valid (DoS)
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.