The contract does not prevent the same transaction from being executed multiple times. If txn.executed
is not set correctly (e.g., due to a bug or reentrancy), a transaction could be executed more than once.
Example Scenario:
Imagine the multi-sig wallet has 10 ETH. There are two approved transactions:
The malicious contract is at Alice's address.
Funds could be drained if a transaction is executed multiple times.
Manual analysis
Ensure txn.executed
is set to true
before making the external call in executeTransaction
.
You have to point a real root-cause leading to a bug. "If, may, could, unexpected behavior, incoherent" are not describing a real concrete bug. Please read the CodeHawks documentation to know which submissions are valid. If you disagree, provide a coded PoC and explain the real likelihood and the detailed impact on the mainnet without any supposition (if, it could, etc) to prove your point.
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.