The MondrianWallet2::executeTransactionFromOutside
function does not check if the transaction is signed by the owner, which allows anyone to send a transaction to the wallet. This is the same thing as having your private key public. This makes the wallet vulnerable to all kinds of attacks like: an attacker could easily steal all funds and assets from the wallet.
Anyone can send a transaction to the MondrianWallet2
contract using the MondrianWallet2::executeTransactionFromOutside
function. This is the same thing as having your private key public on the internet. The MondrianWallet2::executeTransactionFromOutside
should be checking if the transaction has been signed by the owner before executing it, but it does not, allowing anyone to send a transaction to the wallet.
By allowing anyone to send a transaction to the MondrianWallet2
. An attacker could steal all funds and assets from the wallet. This makes the wallet vulnerable to all kinds of attacks, like for example the wallet being drained, ownership of wallet could be transferred, etc.
The attacker sends a transaction to the MondrianWallet2::executeTransactionFromOutside
function and transfers funds from the MondrianWallet2
to the attacker.
Place the following code into ModrianWallet2Test.t.sol
No tools were used to find this vulnerability
In the MondrianWallet2::executeTransactionFromOutside
function, check if the transaction has been signed by the owner before executing.
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.