Withdraw() is missing access control on the fund creator
Withdraw() lacks a check verifying whether the creator specified in the FundWithdraw
struct is the same as the creator of the fund.
Any malicious user can impersonate the creator of the fund and invoke FundWithdraw
to drain all funds.
N/A
Implement access control before allowing the withdrawal:
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.