SantasList::checkTwice
& SantasList::collectPresent
can be made to always revert for users that have been SantasList::checkTwice
with a status of NICE
or EXTRA_NICE
.
SantasList::checkList
is callable by anyone with any status as input ( in this case NAUGHTY
). Both SantasList::checkTwice
and SantasList::collectPresent
expect that the status of the user in both SantasList::s_theListCheckedOnce
and SantasList::s_theListCheckedTwice
are the same. A malicious user can just decide to call SantasList::checkList
for any user (he wishes to DOS) with the status of NAUGHTY
. This effectively blocks this user from ever being checkTwice
-ed or to ever be able to collectPresent
.
In the terminal, run the following commands.
forge test --mt testDOSCollectPresent
forge test --mt testDOSCheckTwice
SantasList::checkTwice
& SantasList::collectPresent
can be made to always revert for users that have been SantasList::checkTwice
with a status of NICE
or EXTRA_NICE
.
Manual review
Add an only santa modifier to SantaList::checkList
method, line 121
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.