NFTs can be transferred even if it is not transferable with the withdrawMaxAndTransfer()
function.
The function withdrawMaxAndTransfer()
withdraws the maximum withdrawable amount from the stream and transfers the NFT to newRecipient
.
The issue is the that the function doesn't check whether the NFT is transferrable or not with calling the function isTransferable()
before transferring it. The isTransferable()
retrieves a flag indicating whether the stream NFT can be transferred.
Anyone can transfer his stream NFT even it is flagged as isTransferable
= false when creating the stream.
Manual Review
Add the check to verify the NFT is transferable or not by calling the function isTransferable()
.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.