The fund_create function does not validate the goal parameter, allowing campaigns to be created with a zero goal. This creates illogical campaign states and potential abuse scenarios
the goal parameter (a u64) is assigned to campaign.goal without any checks (e.g., goal > 0). While u64 cannot be negative, a value of zero is meaningless for a crowdfunding campaign and could bypass intended logic, such as withdrawal conditions tied to reaching the goal.
A campaign with a goal of zero could be exploited by the owner to instantly "meet" the goal and withdraw funds without genuine contributions, confusing contributors or breaking the platform’s trust model.
M L
Add a validation check to the fund_create function to prevent and panic if the goal is zeroed from initialization :
If the `goal` is 0, the campaign goal is achieved immediately and the creator can withdraw the contributors funds. The contributors select themself which campaign to support, therefore I think Low severity is appropriate here.
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.