The documentation explicitly states that :
“no individual signer has more power than any other once the role is granted”,
implying an egalitarian multisig governance model where all signers are equal.
However, the contract owner simultaneously holds:
the SIGNING_ROLE (granting full signer privileges), and
the DEFAULT_ADMIN_ROLE, which allows unilateral addition and removal of other signers.
This dual-role setup gives the owner privileged authority that other signers do not possess. While all signers are equal at the transaction execution level, the owner retains exclusive administrative control over the signer set.
As a result, the project completely loses its purpose because the main goal of a multisig wallet is to prevent a single compromised key from allowing an attacker to steal the funds. In this case, all security depends entirely on the owner key, so if it is compromised, an attacker can immediately access all funds.
Likelihood:
Medium/High: Even when the owner is not malicious, the wallet design inherently centralizes control in a single key. Every deployed instance immediately creates a structural imbalance, so the risk of funds being fully exposed in case of key compromise exists by design.
Impact:
High: The wallet security model is structurally centralized. Users may incorrectly assume true multisig protection, but a compromise of the owner key would immediately expose all funds.
This PoC demonstrates that the owner effectively holds full control over the wallet.
Add this to your MultiSigTimelockTest.t.sol file :
Then run :
Two solutions, depending on your goal :
1) Enforce true multisig for admin actions (Recommended)
Move all owner operations (adding/removing signers, managing roles) behind a multisig mechanism itself.
Require a minimum number of existing signers to approve changes to signer membership or other critical roles.
This ensures no single key (even the owner) can unilaterally control the signer set.
2) Document clearly the trust assumptions
If owner centralization is intentional, clearly state in the README.md that the wallet security is entirely dependent on the owner key, and that it does not provide a trust-minimized multisig.
Users need to understand that the wallet behaves like a single-key wallet in practice.
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.