ScoreBoard::setPrediction is the main function that determines whether players choices in the game are right or wrong. There is no restriction on who can call this function, another implication of this is that players would be bypass the predictionFee for subsequent matchNumber after making payment for their initial match when they use this. Also, there is no check on whether the address player parameter is a registered player and the msg.sender implying that the player who has made an initial payment for his can manipulate the choices of others together with his.
Manual Review
Apply the onlyThePredicter modifier.
setPrediction has no access control and allows manipulation to Players' predictions.
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.