The function selectWinner has a randomness vulnerability.
Each transaction on Ethereum has a deterministic state. Using timestamp and block difficulty to generate random numbers is not appropriate
block.timestamp and block.diffulty are used to choose a winner. We can manipulate the selection of the winner because both method are not good enough to generate random numbers
Manual review
Do not use block.timestamp or blockhash as a source of randomness. Instead, use oracle such as chainlink
Root cause: bad RNG Impact: manipulate winner
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.