The enterRaffle function has a nested loop to check for duplicate addresses on Line-85 This could potentially cause a DOS attack.
This results in time complexity. If the players array is large, this could lead to a very high gas limitation, making the contract less usable and potentially vulnerable to DOS attacks
Set up code in Remix
Call enterRaffle function with an Empty Array
Note that the transaction cause the protocol to freeze and revert on an out of gas error
Passing the above tests implies that the vulnerability:
it could lead to lost of funds if the gas exceeds it limit, though fees will still be paid.
it can lead to an in increase gas cost.
Remix
To fix this bug, add a require statement that only allows the owner to successfully call the setPassword() function.
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.