You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on May 26, 2023. It is now read-only.
github-actionsbot opened this issue
Feb 21, 2023
· 0 comments
Labels
DuplicateA valid issue that is a duplicate of an issue with `Has Duplicates` labelHighA valid High severity issueRewardA payout will be made for this issue
NFT that are blacklisted after deposit should be refundable with no expiration and they should not be distributed
Summary
Currently, there is no mechanism to quickly return a blacklisted NFT that has been deposited when it was whitelisted. Indeed, the owner cannot get the NFT back before the the expiration period because blacklisting is not checked during refund. Even worse, the NFT might be distributed as part of the payouts if its not refunded before the claim.
Vulnerability Detail
Let say I'm a funder and I deposit a token with fundBountyNFT. It's properly deposited because it is actually whitelisted. After some time but before the payout and before the expiration of the deposit is hit, the NFT gets blacklisted. There should be a way to the depositor to retrieve it without waiting for the expiration period. And above all, it should not be distributed to the claimants.
There is no filter to avoid the claiming of blacklisted NFT in
A depositor of a blacklisted NFT might get mad not being able to get it back quickly to invest it somewhere else. The concept of blacklisting is subjective and some other projects might not consider this token as blacklisted and so the user could invest it somewhere else in the meantime if he or she could get it back before the expiration.
In the worst case scenario, this token might still be paid out to the developer(s).
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
DuplicateA valid issue that is a duplicate of an issue with `Has Duplicates` labelHighA valid High severity issueRewardA payout will be made for this issue
clems4ever
medium
NFT that are blacklisted after deposit should be refundable with no expiration and they should not be distributed
Summary
Currently, there is no mechanism to quickly return a blacklisted NFT that has been deposited when it was whitelisted. Indeed, the owner cannot get the NFT back before the the expiration period because blacklisting is not checked during refund. Even worse, the NFT might be distributed as part of the payouts if its not refunded before the claim.
Vulnerability Detail
Let say I'm a funder and I deposit a token with
fundBountyNFT
. It's properly deposited because it is actually whitelisted. After some time but before the payout and before the expiration of the deposit is hit, the NFT gets blacklisted. There should be a way to the depositor to retrieve it without waiting for the expiration period. And above all, it should not be distributed to the claimants.There is no filter to avoid the claiming of blacklisted NFT in
or higher in the stack.
Also there is no bypass of the expiration check in the
refundDeposit
functionImpact
A depositor of a blacklisted NFT might get mad not being able to get it back quickly to invest it somewhere else. The concept of blacklisting is subjective and some other projects might not consider this token as blacklisted and so the user could invest it somewhere else in the meantime if he or she could get it back before the expiration.
In the worst case scenario, this token might still be paid out to the developer(s).
Code Snippet
https://github.com/sherlock-audit/2023-02-openq/blob/main/contracts/Bounty/Implementations/BountyCore.sol#L72
https://github.com/sherlock-audit/2023-02-openq/blob/main/contracts/Bounty/Implementations/BountyCore.sol#L125
Tool used
Manual Review
Recommendation
Duplicate of #62
The text was updated successfully, but these errors were encountered: