Sablier

Sablier
DeFiFoundry
53,440 USDC
View results
Submission Details
Severity: low
Invalid

Potential vulnerability of using `_transfer` and `_mint`

Summary

For minting and transferring NFTs, _transfer and _mint internal functions are used which is not an safe option.

Vulnerability Details

In 3 streaming contracts(linear, dynamic, and tranched), stream NFTs are created using _mint function, which is not safe and not recommended, because it does not call the callback function on the recipient if it's a contract.

Also in withdrawMaxAndTransfer function, _transfer is used rather than _safeTransfer.

Impact

Two impacts exist:

  1. Incompatibility with marketplace because of missing hook calls.

  2. Recipient contracts unaware of NFT transfers, which might lead to loss of NFTs, especially in smart contract wallets.

Tools Used

Manual Review

Recommendations

Rather than _transfer and _mint, _safeTransfer and _safeMint should be used.

Updates

Lead Judging Commences

inallhonesty Lead Judge
about 1 year ago
inallhonesty Lead Judge about 1 year ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity
Assigned finding tags:

Info/Gas/Invalid as per Docs

https://docs.codehawks.com/hawks-auditors/how-to-determine-a-finding-validity

Support

FAQs

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