buySnow takes WETH from the user when msg.value is not exactly the price, but never refunds or rejects the ETH that was sent, so the user pays twice.
In buySnow, if the user does not send the exact ETH amount, even slightly more or slightly less, the contract charges them in WETH instead.
The ETH that the user already sent is not refunded or rejected. It stays in the contract and is later sent to the collector through collectFee.
As a result, the user pays twice: once in ETH and once in WETH.
Likelihood: Low. It requires the user to send a wrong ETH amount and to have approved WETH to the contract.
Impact: Low. The user loses the ETH they sent, but only because of their own mistake.
A user sends 1 wei more than the price. The contract takes the full price in WETH and also keeps all the ETH.
Reject any ETH sent when paying with WETH.
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.