The withdraw() function lacks a deadline check, allowing the host to withdraw funds while the contract is still accepting deposits.
The withdraw() function allows the host to withdraw funds at any time, without checking if deposits are still being accepted. This lack of a deadline check exposes the contract to the risk of premature fund drainage, where the host can withdraw funds while new deposits are still ongoing. This could lead to users losing their funds if they deposit after the withdrawal. The absence of such a check breaks the trust assumption of the contract.
Host can drain contract while deposits are still allowed
Users could lose funds by depositing after withdrawal
Breaks the trust assumption of the contract
Foundry
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.