Function ScoreBoard.setPrediction() does not have access control such that it allows arbitrary caller to change a user's prediction.
Function ScoreBoard.setPrediction() can be used by a user to modify their prediction, as long as the time frame allows for it.
However, it does not have access control such that the user's prediction can be changed by any caller.
A malicious party can change users' prediction at will during allowable time frame.
Testing and manual review.
Consider implementing the following measurements:
check that the caller is legit, e.g., by checking if they have paid the prediction fee.
only allows setting own prediction.
The issue can be demonstrated using the following test:
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.