40,000 USDC
View results
Submission Details
Severity: high

Risks of Perpetually Locked Funds in Contract Due to Non-payment by Buyer and Lack of Arbiter

Summary
An inherent risk exists when an escrow contract is established without an arbiter. If the buyer decides against payment to the seller for any reason, funds can remain permanently locked in the escrow contract, due to a lack of time-lock or expiration provision.

Vulnerability Details
When an escrow contract is deployed without an arbiter set, the only way to unlock the funds is by calling the confirmReceipt() function, a power held exclusively by the buyer. There are currently no provisions to handle a situation where the buyer refuses payment to the seller.
Additionally, a scenario may arise where the buyer fails to fulfill their contractual obligations to the seller. In such an instance, and without an arbiter, there exists no method to unlock the funds without involuntarily transferring them to the buyer.

Impact
This vulnerability could lead to funds being indefinitely locked in the escrow contract or even transferred to the buyer, irrespective of whether they've met the agreement's terms.

Tools Used
Manual Review

Recommendations
Introduce a time-lock mechanism which would allow funds to be unlocked under certain conditions, or enforce the inclusion of an arbiter during the escrow contract setup as a mandatory requirement.

Support

FAQs

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