briVault::userToCountry is an empty string. Allowing anyone who has the vault token to claim the prize.The value returned by briVault::userToCountrysignifies the country that the user is betting on. However, if an user who has not place any bet or even deposited any asset, his value for briVault::userToCountry is "". If the owner purposely or by mistake puts an empty string for the name of a team, then all users who has not join the game can claim the prize using vault tokens.
Likelihood: Medium/Low
Reason 1: When the owner input one or multiple teams with empty string as name, if one of these team wins, someone who bet on another team can transfer his vault token to a new account that has not join the game and claim the prize using that new account.
Impact: High
Impact 1: Users who bets on the team with with empty string as name are at risk of getting front runned by other players and lose their money if they win.
The user1 originally bets for team 13.
The other users join the game.
The event ends and the winner selects the empty string name as winner.
The user1 transfers his vault token to user2 and uses the account of user2 to claim the prize.
It would be best to add a check for empty string when setting up the countries.
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.