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

No transfer result check in `_payPrefund` fucntion

Summary

No transfer result check in _payPrefund fucntion

Vulnerability Details

The validateUserOp function will pay prefund to msg.sender .
But there is no validation of whether this _payPrefund is success .

function _payPrefund(uint256 missingAccountFunds) internal virtual {
if (missingAccountFunds != 0) {
(bool success,) = payable(msg.sender).call{value: missingAccountFunds, gas: type(uint256).max}("");
(success);
}
}

Impact

This _payPrefund transaction might be failed, but the validation can be success .

Tools Used

Mannual review, Foundry

Recommendations

Add _payPrefund function execution results' check .

Updates

Lead Judging Commences

inallhonesty Lead Judge about 1 year ago
Submission Judgement Published
Invalidated
Reason: Incorrect statement

Support

FAQs

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