PlayerB can be replaced if another user joins the game before it starts, causing that a user loses money if they have joined the game before and it did not get started yet, since they would be wiped out of the game and make it impossible for them to recover the token or the fees paid.
No access control prevents any user (except playerA) with a winning token or enough eth to front-run and replace playerB before the first commit and the game start before the deadline, which would mean a playerB that gets replace loses their deposited money or token.
The protocol would be vulnerable to griefing attacks (malicious attacks to let users lose money) or DOS attacks where a wallet maliciously joins all the time as playerB and renders the game unplayable.
Manual Review
Expand security checks to make sure playerB cannot be replaced that easily by any other player before starting the game.
Game state remains Created after a player joins
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.