likeUser keeps overpayment above 1 ETH without refunding the surpluslikeUser validates with msg.value >= 1 ether (line 32) rather than an exact amount, and never refunds the excess. Any ETH a user sends above 1 ETH is silently retained by the contract.
Likelihood: Low. Most users will send exactly 1 ETH, but fat-finger overpayment or front-end miscalculation will occasionally send more.
Impact: Low. The surplus over 1 ETH is kept by the contract with no mechanism to return it to the sender. Combined with the missing deposit accounting (userBalances is never credited in likeUser), the overpaid ETH is not even attributed to the user and becomes stranded contract balance. Loss is bounded to each user's own overpayment.
Send more than 1 ETH and observe that nothing is refunded.
Require the exact amount, or refund the surplus to the sender.
The contest is live. Earn rewards by submitting a finding.
Submissions are being reviewed by our AI judge. Results will be available in a few minutes.
View all submissionsThe contest is complete and the rewards are being distributed.