deployCounterFactualWallet does not check whether the caller is the owner #164
Labels
3 (High Risk)
Assets can be stolen/lost/compromised directly
bug
Something isn't working
duplicate-460
satisfactory
satisfies C4 submission criteria; eligible for awards
sponsor disputed
Sponsor cannot duplicate the issue, or otherwise disagrees this is an issue
upgraded by judge
Original issue severity upgraded from QA/Gas by judge
Lines of code
https://github.com/code-423n4/2023-01-biconomy/blob/53c8c3823175aeb26dee5529eeefa81240a406ba/scw-contracts/contracts/smart-contract-wallet/SmartAccountFactory.sol#L33
Vulnerability details
Impact
Detailed description of the impact of this finding
deployCounterFactualWallet(()
does not check whether the caller is the ownerProof of Concept
Provide direct links to all referenced code in GitHub. Add screenshots, logs, or any other relevant proof that illustrates the concept.
https://github.com/code-423n4/2023-01-biconomy/blob/53c8c3823175aeb26dee5529eeefa81240a406ba/scw-contracts/contracts/smart-contract-wallet/SmartAccountFactory.sol#L33
deployCounterFactualWallet(()
does not check whether the caller is the owner, as a result, any user might this function and create a SmartAccunt for another user.Tools Used
Remix
Recommended Mitigation Steps
We can add a check in the beginning of the function.
The text was updated successfully, but these errors were encountered: