The SnowmanAirdrop contract is intended to facilitate the claiming of Snowman NFTs by users who stake their Snow tokens, transferring those tokens from the user to the airdrop contract itself as part of the claim process. This effectively acts as a burning or staking mechanism where the tokens are held by the contract to represent the exchange for NFTs.
However, once the Snow tokens are transferred to the SnowmanAirdrop contract via the safeTransferFrom call in claimSnowman, they become permanently locked because there is no implemented function to withdraw, recover, or redistribute these accumulated tokens. This design flaw means the contract serves as an unintended token sink, with no administrative or owner-controlled mechanism to access the funds, potentially leading to significant value being trapped if the protocol gains traction and many users claim NFTs.
Likelihood:
This vulnerability is unlikely to be exploited maliciously since it doesn't involve direct theft or attack vectors, but it arises naturally from normal protocol usage as more claims occur over time, especially if the airdrop sees high participation.
Impact:
The protocol will accumulate Snow tokens indefinitely without any utility or means of retrieval, which could lock away substantial value in a live deployment if adoption is high, leading to lost funds for the project team or community; additionally, there's no way to recover from errors like accidental transfers or to repurpose the tokens at the end of the airdrop period.
The contest is live. Earn rewards by submitting a finding.
Submissions are being reviewed by our AI judge. Results will be available in a few minutes.
View all submissionsThe contest is complete and the rewards are being distributed.