This repository has been archived by the owner on Jun 2, 2024. It is now read-only.
KingNFT - Founders could still obtain vesting NFTs even when they have been intentionally removed by the contract owner #259
Labels
Duplicate
A valid issue that is a duplicate of an issue with `Has Duplicates` label
Escalation Resolved
This issue's escalations have been approved/rejected
High
A valid High severity issue
Reward
A payout will be made for this issue
KingNFT
high
Founders could still obtain vesting NFTs even when they have been intentionally removed by the contract owner
Summary
The incorrect implementation of
updateFounders()
would cause that founders could still claim vesting NFTs even when they have been intentionally removed by the contract owner.Vulnerability Detail
The issue arises on L412, the
baseTokenId
should begin withreservedUntilTokenId % 100
.let's say the
reservedUntilTokenId == 10
andfounderPct = 5
, when_addFounders()
ininitialize()
, the followingtokenRecipient
s would be set.But in
updateFounders()
, asbaseTokenId
begin with0
, the actual clearedtokenRecipient
s areWe can see, none of previous valid
tokenRecipient
info is cleared. Hence, founders could still obtain those vesting NFTs.Impact
Founders could still claim vesting NFTs even when they have been intentionally removed.
Code Snippet
https://github.com/sherlock-audit/2023-09-nounsbuilder/blob/main/nouns-protocol/src/token/Token.sol#L412
Tool used
Manual Review
Recommendation
see Vulnerability Detail
Duplicate of #42
The text was updated successfully, but these errors were encountered: