Normal behavior: The crowdfunding platform should allow project creators to withdraw raised funds only after the funding deadline has passed AND the fundraising goal has been met.
Specific issue: The withdraw() function allows creators to withdraw the entire amount_raised at ANY TIME, without checking if the deadline has passed or if the funding goal has been reached. This breaks the core trust mechanism of crowdfunding.
Likelihood: High
This will occur EVERY TIME a creator calls withdraw() before the deadline
This will occur EVERY TIME a creator calls withdraw() even if the goal isn't reached
The function has no conditional checks, making it universally accessible
Contributors lose their funds to fraudulent campaigns that withdraw immediately
Protocol becomes insolvent as funds can be stolen at any time
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.