MultiSigWallet has no mechanism to revoke approvals, preventing owners from changing their mindThe MultiSigWallet contract allows owners to approve transactions via MultiSigWallet::approveTransaction, but provides no way to revoke an approval once given. If an owner approves a transaction and later changes their mind (e.g., realizes the recipient address is wrong, the amount is incorrect, or circumstances have changed), they cannot undo their approval. This could lead to unintended transaction execution if the other owner approves without knowing the first owner no longer agrees.
Likelihood:
An owner approves a transaction, then realizes the recipient or amount is incorrect
An owner approves, but circumstances change and they are not happy with the transaction
Impact:
Owners cannot change their mind after approving - approval is permanent until execution
Could lead to funds being sent to unintended recipients if the other owner approves without coordination
Reduces flexibility and safety of the multisig
Alice and Bob match, receiving a multisig with their pooled funds
Alice submits a transaction to send 1 ETH to address X
Alice approves the transaction
Alice realizes address X is compromised/incorrect
Alice cannot revoke her approval
Bob approves (unaware Alice changed her mind)
Transaction can now be executed, sending funds to the wrong address
Add a revokeApproval function to allow owners to withdraw their approval:
The contest is live. Earn rewards by submitting a finding.
Submissions are being reviewed by our AI judge. Results will be available in a few minutes.
View all submissionsThe contest is complete and the rewards are being distributed.