According to the project documentation (README), any address holding the SIGNING_ROLE is allowed to propose new transactions. The documentation explicitly states that transaction proposal rights are tied to the signer role, not exclusively to the contract owner.
However, the implementation of the proposeTransaction function restricts access using the onlyOwner modifier:
As a result, only the owner can propose transactions, while other valid signers are unable to do so. This behavior directly contradicts the documented role model and the expected multisig workflow.
Impact: Medium
This issue does not directly enable fund theft or unauthorized execution. However, it introduces an unintended centralization point by preventing non-owner signers from proposing transactions, despite being explicitly allowed to do so according to the documentation. This weakens the intended governance and operational model of the multisig wallet.
Likelihood: High
The issue affects normal protocol usage and will occur deterministically. Any signer (other than the owner) attempting to propose a transaction as described in the README will consistently encounter a revert.
The following Foundry test can be copied directly into the existing MultiSigTimeLockTest contract and executed without additional setup.
This test demonstrates that a valid signer, as defined by the protocol documentation, is unable to propose a transaction due to the onlyOwner restriction.
Align the access control logic with the documented role model. Either:
Replace the onlyOwner modifier with a role-based check that allows any address holding the SIGNING_ROLE to propose transactions
Or update the documentation to explicitly state that only the contract owner can propose transactions.
Ensuring consistency between implementation and documentation is critical for correct security assumptions, proper governance, and safe protocol usage.
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.