40,000 USDC
View results
Submission Details
Severity: medium

No limit on the number of disputes that can be initiated

Summary

See Details

Vulnerability Details

There is no limit on the number of disputes that can be initiated by a party in the escrow smart contract. This means that a malicious party could initiate unlimited disputes, which would clog the system and prevent legitimate disputes from being processed.

function initiateDispute() external onlyBuyerOrSeller inState(State.Created) {
if (i_arbiter == address(0)) revert Escrow__DisputeRequiresArbiter();
s_state = State.Disputed;
emit Disputed(msg.sender);
}

Impact

This bug could have a significant impact on the usability and security of the escrow smart contract. It could make it difficult for legitimate parties to resolve disputes, and it could also make the contract more vulnerable to attack.

Tools Used

Manual code review

Recommendations

The bug could be mitigated by adding a limit on the number of disputes that can be initiated by a party.

Support

FAQs

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