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 over 1 year 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.