Organizer can input his own address as winner
The docs say
"If a contest is created and funded, there is no way to refund"
but the Organizer can input his address as a winner and get the prize which is like a refund.
When calling ProxyFactory.deployProxyAndDistribute()
and subsequently Distributor._distribute()
there is no input validation that the Organizer isn't inputting his own address as the winner.
There the Organizer can call ProxyFactory.setContest()
to set a contest and then call ProxyFactory.deployProxyAndDistribute()
with his own address as winner and max percentage to get a "refund", even though the supporters have worked on the contest.
This is not even a sybil attack as described in the know issues because the malicious Organizer doesn't need to have multiple identities.
A malicious Organizer can rup pull the protocol and cause users to lose confidence in the protocol.
Manual Review
Add a check to ensure the Organizer address is different from the winner address and is not included in the winner array:
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.