A critical vulnerability exists in the setPrediction
function of the scoreboard
contract, allowing unauthorized users to alter the predictions of any player. This flaw can lead to financial losses for players and undermines the integrity of the prediction system.
The setPrediction
function is intended to allow players to set their predictions for a specific match. However, the function lacks proper access control, enabling any user to modify the predictions of any player. The relevant code snippet is as follows:
Any user who isn't even part of the registered or approved 30 players can call the setPrediction
function and alter the predictions of any player. This could be used maliciously to sabotage other players' predictions, leading to incorrect outcomes and financial losses for affected players. Players' trust in the system is compromised when predictions can be altered by unauthorized parties. This undermines the integrity of the entire prediction system.
Ensure that only the player who owns the prediction can modify it. Use msg.sender
to verify the caller's identity before allowing any changes.
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.