The oversight of the seller
being equal to the arbiter
could potentially enable the seller to claim all the funds through early dispute resolution without fulfilling their service obligation, leading to a loss of funds for the buyer.
The vulnerability exists in the constructor function of Escrow.sol, specifically at line 48. The constructor fails to account for the scenario where the seller
address is equal to the arbiter
address. This oversight could be exploited by the seller to initiate an early dispute resolution and claim all the funds without providing the agreed-upon service.
Vulnerable Code Snippet:
The oversight of allowing the seller
and arbiter
addresses to be the same creates a severe vulnerability that benefits the seller. By initiating an early dispute and resolving it in their favor, the seller can claim all the funds without fulfilling their service obligations. Consequently, the buyer will suffer a complete loss of funds.
Manual Review
To mitigate this vulnerability and prevent the seller from unfairly claiming all the funds without providing their service, it is crucial to add a validation check in the constructor. This check should ensure that the seller
address is not the same as the arbiter
address.
Recommended Modification:
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.