40,000 USDC
View results
Submission Details
Severity: medium
Valid

Missing arbiter address can render the contract unusable

Summary

Missing arbiter address can render the contract unusable leading to loss of buyer deposits

Vulnerability Details

Since its impossible to determine at contract deployment time IF arbiter services will be required, the contract can become unusable if arbiter services are later required and the arbiter address was set to the address zero.

Impact

Buyer risks losing deposits.

Tools Used

Manual review

Recommendations

We recommend that the arbiter address should always be set and enforced by the Escrow.sol contract as not the zero address.
In Escrow.sol::Ln 43, Add

if (arbiter == address(0)) revert Escrow__ArbiterZeroAddress();

In IEscrow.sol::Ln 19, add

error Escrow__ArbiterZeroAddress();

Support

FAQs

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