The withdraw function does not check whether the caller is the fund's owner. This means anyone can trigger a withdrawal, allowing unauthorized users to drain the contract's funds.
missing check in withdraw to verify that the person withdrawing is fund owner.
High
Manual review
Add an ownership check to verify that only the fund creator can withdraw:
There are enough security checks in `withdraw` function. Anchor enforces that creator must sign the transaction. And the `has_one = creator` ensures that the fund’s creator matches the provided creator account.
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.