Normal behavior: Transactions require REQUIRED_CONFIRMATIONS from current signers.
Issue: A signer who confirmed a transaction and was later revoked still counts toward confirmations at execution time.
Likelihood:
Reason 1 // Roles change over time; owners revoke signers for security
Reason 2 // Pending transactions may get executed after membership changes
Impact:
Impact 1 // Execution may proceed with fewer active signers than quorum
Impact 2 // Governance guarantees broken; potential unauthorized asset movement
Explanation: The test testH2_RevocationBlocksExecutionWithStaleQuorum shows that if a signer confirms and is then revoked, the transaction can still be executed because the contract only checks the cached confirmations count.
Explanation: In _executeTransaction, iterate through the current s_signers array and count how many valid signers have signed the transaction. Use this count instead of txn.confirmations.
Status: Valid (Mitigated in src/MultiSigTimelock.sol)
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.