Intended/normal behavior: confirmations should only count from current, active signers so revoking a signer removes their influence over pending transactions.
Specific deviation and why it matters: confirmations are stored as a counter and never invalidated when a signer is revoked, while execution only checks the counter. This allows old approvals from revoked signers to keep counting.
Attack story: a compromised signer pre-signs a malicious transaction, gets revoked, and later only two current signers confirm; the stale confirmation still satisfies the 3-confirmation threshold, enabling execution even though only 2 active signers approved. This also makes confirmed transactions unstoppable after signer revocations.
Likelihood
Realistic if a signer is compromised or removed while pending transactions exist (confirmed in tests).
Requires only 2 current signers once a stale confirmation exists.
Impact
Transactions can execute with fewer active signers than intended.
Revoking a signer does not stop their previously approved transactions, allowing funds to be moved despite removal.
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.