According to the documentation in README.md, any signer can propose new transactions (permission is tied to the role, so any signer can propose). However, the proposeTransaction() function has the onlyOwner modifier, allowing transaction proposals by the owner only. This severely breaks the protocol's intended functionality, limiting signers to confirmation and execution of owner-proposed transactions.
Likelihood:
Does not require any specific flow, it is a direct limitation of intended functionality.
The power to propose transactions is tied to the SIGNER_ROLE according to the documentation in README.md.
Impact:
Limits the transaction proposal functionality to the owner only, severely breaking the core functionality.
Implements an additional restriction, converting the multisig's role-based functionality to merely confirming and executing the owner's transactions.
Add this snipped of code to the MultiSigTimelockTest.t.sol test file.
How to execute:
Replacing the onlyOwner modifier with onlyRole(SIGNING_ROLE) to allow transaction proposition to any signer.
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.