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

Infinite NFT minting

Summary

The check for SantaList__AlreadyCollected is insufficient.

Vulnerability Details

Any user who can claim the NFT can transfer it to another address and claim it again infinitely.

Impact

Infinite NFTs can be minted by anyone with status NICE or EXTRA_NICE.

Tools Used

N/A

Recommendations

Make the present NFT soulbound

OR

Maintain a mapping of addresses that have collected a present and check it before minting

OR

Add a CLAIMED status to enum Status.
Update s_theListCheckedOnce and s_theListCheckedTwice upon mint.

Updates

Lead Judging Commences

inallhonesty Lead Judge over 1 year ago
Submission Judgement Published
Validated
Assigned finding tags:

Weak Already Collected Check

Relying on balanceOf > 0 in collectPresent() allows the msg.sender to send their present to another address and then collect again.

Support

FAQs

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