In RapBattle::goOnStageOrBattle
, the winner is decided using the random
variable which uses block.timestamp
, block.prevrandao
, and msg.sender
to be random. The problem is that validators can slightly move these variables during block validation. A malicious validator is able to manipulate the randomness and choose a winner.
Likelyhood: Low
Only validators can manipulate the randomness.
Impact: High
Validors are able to manipulate the randomness and choose a winner.
Use an oracle like Chainlink to obtain real randomness.
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.