Users can call joinEvent() multiple times to change countries and inflate counters.
Users should select one country for the entire tournament.
No check prevents calling joinEvent() multiple times with different countries.
Likelihood:
Users can call repeatedly before event starts
No restriction on country changes
Trivial to exploit
Impact:
numberOfParticipants counts same user multiple times
totalParticipantShares becomes inflated
usersAddress filled with duplicates
Previous country shares orphaned
Unfair gaming advantage
Here is a PoC of calling joinEvent() multiple times by single user and how states behaves
To solve this issue, need to add a new mapping state hasJoinedEvent and will add user record once he joined the event
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.