Anyone can execute the function SantasList::checkList(address,Status) to change SantasList::Status of a given address inside the SantasList::s_theListCheckedOnce mapping to any enum SantasList::Status value.
The function SantasList::checkList(address,Status) should be only called by Santa, but since it misses an access control check anyone can execute it.
Apply the following diff:
And run the testAnyoneCanCheckOnce test:
Anyone can execute the function SantasList::checkList(address,Status) and change the status of a given address to NICE, EXTRA_NICE, NAUGHTY, or NOT_CHECKED_TWICE, inside the mapping SantasList::s_theListCheckedOnce.
Manual Review
GNU Emacs (solidity-mode + magit)
Foundry tests
Add modifier onlySanta to the SantasList::checkList(address,Status) 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.