A player can submit an array of whatever they want to enterRaffle.
There is no input validation in enterRaffle:
This makes it very simple for people to submit a really long array of invalid entries and waste a lot of gas with all the loops in this function.
Also, generally, you create smart contract risks when people are allowed to submit unexpected inputs - it is better to prevent them from doing so in the first place.
Manual review
There are multiple ways you could address this. You could use the isAddress check from web3. Or you could just check that at least the input for each item in the array is 20 bytes - people could still submit fake 20 bytes data then but at least they would have to try harder to do it compared to submitting an array of 0, 1, 2, etc.
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.