The withdraw function allows the fund creator to withdraw all accumulated funds at any time, regardless of whether the deadline has passed or the funding goal has been met. This creates a critical vulnerability where creators can drain the funds repeatedly and not letting the goal to be reached
The withdraw function permits the creator to withdraw the entire amount_raised
without any checks on:
Whether the deadline has been reached
Whether the funding goal has been achieved
A malicious creator could create a fund, wait for contributions, withdraw all funds, and repeat this process indefinitely.
Manual review
Add a deadline check and funding goal check
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.