There should be a check if there is a correct implementation at the given implementation address in setContest
, if a wrong address is given as the implementation, it will cause all of the contest funds to be stuck forever.
If a wrong address is given as the implementation in setContest
, it will cause all of the contest funds to be stuck forever. It would be quite easy to make a mistake here if the factory deployed on multiple chains as stated by equinous.eth https://discord.com/channels/1127263608246636635/1141074733622890556/1145794428116672584, and with multiple versions, as stated in the README.
Another reason why this is much more likely for this contract specifically, is the function requires the implementation address to be passed in for each contest creation.
The reason why this issue is marked as a medium, is because the impact of the issue is high, as it causes the funds to be stuck forever, and the likelihood is low.
Manual analysis
Use a implementation registry with all the versions of the distributor. This will prevent any accidental wrong implementation parameters.
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.