Beginner FriendlyFoundry
100 EXP
View results
Submission Details
Severity: high
Valid

Outside transactions are not validated

Summary

Vulnerability Details

Function: executeTransactionFromOutside

The executeTransactionFromOutside function calls _validateTransaction but does not check the returned value. This can lead to potential security vulnerabilities where invalid transactions might be executed.

function executeTransactionFromOutside(Transaction memory _transaction) external payable {
_validateTransaction(_transaction);
_executeTransaction(_transaction);
}

Impact

An attacker can execute any transaction on the wallet.

Tools Used

Manual review

Recommendations

The returned value of _validateTransaction should be checked, and the transaction should be reverted if it is not ACCOUNT_VALIDATION_SUCCESS_MAGIC.

function executeTransactionFromOutside(Transaction memory _transaction) external payable {
bytes4 magic = _validateTransaction(_transaction);
require(magic == ACCOUNT_VALIDATION_SUCCESS_MAGIC, "Transaction validation failed");
_executeTransaction(_transaction);
}
Updates

Lead Judging Commences

bube Lead Judge
11 months ago
bube Lead Judge 11 months ago
Submission Judgement Published
Validated
Assigned finding tags:

Missing validation in executeTransactionFromOutside

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.