Beginner FriendlyFoundry
100 EXP
View results
Submission Details
Severity: high
Valid

Attacker can prevent anyone from collecting their present with frontrunning, causing a DoS

Summary

Attacker can prevent anyone from collecting their present with frontrunning, causing a DoS

Vulnerability Details

collectPresent() checks s_theListCheckedOnce and s_theListCheckedTwice of caller before minting them nft or santaToken, attacker can frontrun the transaction calling collectPresent() to change the s_theListCheckedOnce of victim to something other than nice or extra nice, causing a DoS and prevent the victim from collecting their present as access control is absent in checkList() and collectPresent() reverts with SantasList__NotNice as long as either s_theListCheckedOnce or s_theListCheckedTwice of the caller is not nice or extra nice, or if s_theListCheckedOnce and s_theListCheckedTwice are not the same

Impact

Attacker can prevent anyone from collecting their present with frontrunning, causing a DoS

Tools Used

Manual review

Recommendations

Add access control like the onlySanta modifier to checkList() to restrict it for Santa only

Updates

Lead Judging Commences

inallhonesty Lead Judge about 2 years ago
Submission Judgement Published
Validated
Assigned finding tags:

Access Control on checkList()

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.

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.

Give us feedback!