The contract is designed to manage funds through a multi-signature mechanism where a fixed quorum of 3 confirmations is required to execute any transaction.
The revokeSigningRole function fails to validate that the number of remaining signers is at least equal to the required quorum. It only checks if the count is greater than 1, allowing the owner to reduce the signer pool to 2 or 1, making the REQUIRED_CONFIRMATIONS limit unreachable.
Likelihood:
This occurs whenever the owner manages the signer list and removes participants due to compromise, inactivity, or rotation.
There are no secondary mechanisms to reduce the REQUIRED_CONFIRMATIONS constant, making the mistake irreversible.
Impact:
Total loss of access to all funds held in the contract.
Permanent Denial of Service (DoS) for the wallet's core functionality (executeTransaction).
Run:
Output:
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.