In a multisig system, confirmations are expected to reflect approval by a specific, known set of signers. If the signer set changes, previously collected confirmations should no longer be trusted under the new governance composition.
This contract allows the owner to add or remove signers after confirmations have already been collected, without invalidating or re-evaluating those confirmations. As a result, a transaction can be executed using approvals that were given under a different signer set, violating signer intent and governance assumptions.
Likelihood:
Signer sets are expected to change during normal protocol operation (key rotation, new members, removals).
The owner can modify the signer set at any time, including while transactions are pending.
Impact:
Transactions may execute with approvals from a signer group that no longer represents current governance.
Enables stealth manipulation where malicious signers are added only to finalize execution.
Breaks signer intent and multisig trust guarantees.
The transaction executes even though signers A and B never approved execution under the new signer set.
Invalidate or re-snapshot confirmations whenever the signer set changes.
Store a signerSetHash in each transaction and enforce equality at execution.
Reset confirmation count on any signer addition or removal.
Require re-confirmation if signer membership changes.
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.