The README states that any address holding the SIGNING_ROLE can propose a new transaction.
However, in the implementation, proposeTransaction is restricted with the onlyOwner modifier, preventing non-owner signers from proposing transactions.// The proposeTransaction function uses onlyOwner instead of a role-based modifier such as onlyRole(SIGNING_ROLE).
function proposeTransaction(...)
external
nonReentrant
noneZeroAddress(to)
onlyOwner
returns (uint256)
Likelihood:
Reason 1 // Non-owner signers are unable to propose transactions, contrary to the documented design.
Reason 2
Impact:
No funds are at risk
This only affects workflow and decentralization expectations, as non-owner signers cannot propose transactions as documented.
Proof of Concept
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.