The vulnerability in the refund logic allows contributors to withdraw funds from successful campaigns, directly contradicting the protocol's core specification and creating an economic exploit.
Intended Rule: Refunds are only permitted when:
Campaign deadline is reached
Funding goal is NOT met
Current Implementation:
Ignores goal achievement check
Allows refunds for fully funded campaigns
Enables systematic fund drainage
Post-Success Drainage
Contributors can reclaim funds after the campaign succeeds
Creators lose guaranteed funding
The platform's economic model becomes unstable
Race Condition Exploit
Malicious contributors can front-run the creator's withdrawal
Selectively drain funds after the campaign reaches its goal
Undermine the platform's financial predictability
Immediate Loss: Creators cannot rely on raised funds
Trust Erosion: Contributors can arbitrarily reverse pledges
Economic Instability: Unpredictable fund availability
Campaign Goal: 80 SOL
Raised Funds: 100 SOL
Deadline Reached: ✓
Goal Achieved: ✓
Exploit: Contributors can still request full refunds
Strict Condition Enforcement
Implement hard checks on campaign state
Prevent refunds for successful campaigns
Align the code with documented specifications
Additional Safeguards
Add comprehensive state validation
Implement clear error codes
Create audit logs for all fund movements
Violates explicit project specifications
Creates potential legal and trust liabilities
Undermines platform's core value proposition
The current implementation allows unrestricted fund manipulation, directly contradicting the platform's economic model.
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.