40,000 USDC
View results
Submission Details
Severity: medium

No access control in creation of Escrow contracts

Summary

There is no access control to limit who can deploy Escrow contracts via the factory. Any Ethereum address could deploy.

Vulnerability Details

In newEscrow(), there is no access control.

function newEscrow(
uint256 price,
IERC20 tokenContract,
address seller,
address arbiter,
uint256 arbiterFee,
bytes32 salt
) external returns (IEscrow) {

Impact

Anyone could make an Escrow contract

Tools Used

Manual code review

Recommendations

Add a Access Control mechanism to limit the number of addresses to create an Escrow contract

Support

FAQs

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