There is no OnlySanta
modifier in the checkList
function which results in Denial of Service(DOS).
The below provided function does not have the above OnlySanta
modifier. Without OnlySanta
modifier, anyone can call the below function. OnlySanta
modifier only allows i_santa
address to call the function.
Due to the missing OnlySanta
modifier, anyone can enter the checkList
function and change the s_theListCheckedOnce
variable. This results in various unintentional outcomes -
Any malicious user, e.g. attacker
, can call the function and change the variable to NICE
or EXTRA_NICE
.
attacker
can change the value of any user's variable to anything it desires.
attacker
can always revert the changes made by santa
.
Hence, making the contract unusable for any user or santa.
Manual Review
To mitigate the vulnerability, OnlySanta
modifier should be added to the checkList
function which will only allow the santa
to call the function.
Here's how you can modify the function:
Anyone is able to call checkList() changing the status of a provided address. This is not intended functionality and is meant to be callable by only Santa.
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.