In ProxyFactory.deployProxyAndDistributeRewardsBySignature()
, organizers can deploy proxy and distribute rewards with signature sent. However, there is a lack of signature deadline, and as such, once allowed, can be used by organizer to deploy proxy and distribute rewards at any time in the future, indefinitely.
Additionally, the function checks that contest is not closed, but does not check that contest has expired similar to in deployProxyAndDistributeByOwner()
.
In the event where an inactive organizer suddenly becomes active, and calls the deployProxyAndDistributeRewardsBySignature()
, it could result in deployment collisions due to same salt when owner is trying to deploy proxy and distribute rewards as well. This could be problematic if owner and organizer has different winners in mind.
Manual Analysis
Add a expiry for signature approved to organizer
After expiry, make it consistent that only owner can deploy proxy and distribute rewards after expiration.
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.